|
|
|
| Привет! Я тут несколько недель бился на освоением php.
Написал небольшой wap сайт простой, и понятный.
Есть Гостевая - работает от бд.
Также Есть возможность добавления игр , рисунков, или мелодий.
Просто выбераем папку создаем каталог (на латинице) ссылки генерируються автоматом.
Прошу посмотреть указать на ошибки и пр.
http://mobileman.ru/files/mp001.rar
PS
Посмотреть как выглядит можно на http://mobileman.ru | |
|
|
|
|
|
|
|
для: Akira
(18.10.2004 в 21:33)
| | Мне вот интересно как авторизация идет без кукисов?
Перадевать имя и пароль в URL если тока но что то этот метод меня не водушевляет :(
Как форум делать на вапе ???
Вот прочитал тему про phpclub И про что что вы такие сякие :(
Мое мнение только положительное! Отзываетесь на просьбу а не даете читай там там та (ну даете когда это действительно стоит дать если писаль ранее)
Спасибо вам.
А вот хотелось чтоб в вашей новой книги было то про что была написано осталось за бортом :) вот там был список книг я как раз купил книгу Агрелиха ... там еще туева туча авторов этой книги ...но хочется прочитать ваше издание ... ну а форум у вас все таки лучше чем у других авторов (по ответам на вопросы и результатам ответов и скорости ответов :)) тут равных вобще нет! ) может не в тему но назаметку в новой книге упомините о системе проверки орфографии в PHP я нашел это только в одной книги . | |
|
|
|
|
|
|
|
для: вопрос_MYSQL
(22.10.2004 в 01:20)
| | Я не очень понял к кому вопрос? =) Начнем с того что микробраузеры почти не поддерживают кукис (мне встречались кадры с поддержкой кукис).
Как делать форум? Да так и делать передачей по ссылке или через открытие ссесии. | |
|
|
|
|
|
|
|
для: Akira
(18.10.2004 в 21:33)
| | Вопрос возник...
База и массивы...
Отрывок кода:
while ($i<$max_mess) # Цикл проверки кол-ва строк для вывода их
{
$row_date = htmlspecialchars(mysql_result($result, $i, "date"));
$row_name = htmlspecialchars(mysql_result($result, $i, "name"));
$row_message = htmlspecialchars(mysql_result($result, $i, "message"));
echo "<br/>###<br/>";
echo "Время: ".$row_date;
echo "<br/>";
echo "Имя: ".$row_name;
echo "<br/>";
echo "Сообщение: ".$row_message;
echo "<br/>";
$i++; # Добавление к $i единицу
}
|
Кто сможет подсказать замену? | |
|
|
|
|
|
|
|
для: Akira
(22.10.2004 в 20:21)
| | Этот отрывок из архива? | |
|
|
|
|
|
|
|
для: cheops
(22.10.2004 в 21:02)
| | Ага, нашёл, я бы переписал файл read_mess.php следующим образом
<?php
include 'header.php';
include 'config.php';
// Определяем число сообщений в таблице
$query = 'select count(*) from '.$db_table;
$tot = mysql_query($query);
if(!$tot)
{
echo "Error! mysql_query".mysql_error();
exit;
}
$count = mysql_result($tot,0);
// Выбираем сообщения из базы данных
$query = 'select * from '.$db_table.' where 1 ORDER BY 'date' DESC LIMIT 0, '.$max_mess;
$result = mysql_query($query);
if (!$result)
{
echo "Error! mysql_query".mysql_error();
exit;
}
echo "Всего сообшений: ".$count;
if ($count >0) # Если нет сообшений выключаем
{
echo 'Нет сообщений!';
include 'footer.php';
exit;
}
// Преобразуем в цикле каждую запись таблицы в
// в ассоциативный массив $messages, ключи которого
// будут названы по именам столбцов в таблице
while ($messages = mysql_fetch_array($result)) # Цикл проверки кол-ва строк для вывода их
{
$row_date = htmlspecialchars($messages["date"]);
$row_name = htmlspecialchars($messages["name"]);
$row_message = htmlspecialchars($messages["message"]);
echo "<br/>###<br/>";
echo "Время: ".$row_date;
echo "<br/>";
echo "Имя: ".$row_name;
echo "<br/>";
echo "Сообщение: ".$row_message;
}
include 'footer.php';
?>
|
PS Т.е. поменял бы местами функции mysql_result() и mysql_fetch_array(), так как первую функцию лучше использовать для извлечения одиночных результатов, а вторую для многострочных - получается быстрее. | |
|
|
|
|
|
|
|
для: cheops
(22.10.2004 в 21:15)
| | Интересно, надо попробывать... | |
|
|
|
|
|
|
|
для: cheops
(22.10.2004 в 21:15)
| | Имено это и не работает =) Я вроде бы пытался так делать .
while ($messages = mysql_fetch_array($result)) # Цикл проверки кол-ва строк для вывода их
{
$row_date = htmlspecialchars($messages["date"]);
$row_name = htmlspecialchars($messages["name"]);
$row_message = htmlspecialchars($messages["message"]);
echo "<br/>###<br/>";
echo "Время: ".$row_date;
echo "<br/>";
echo "Имя: ".$row_name;
echo "<br/>";
echo "Сообщение: ".$row_message;
}
|
Может есть у кого еще предложения? | |
|
|
|
|
|
|
|
для: Akira
(23.10.2004 в 14:49)
| | А что не работает? Лучше ставить вопрос так: должно быть то-то, а получается то-то. | |
|
|
|
|
|
|
|
для: cheops
(23.10.2004 в 14:52)
| | Как я понял проблема вот в этом:
while ($messages = mysql_fetch_array($result))
|
Ну это не главное...
Я тут обновил ...
Вообшем интересно получаеться...
<?php
include $DOCUMENT_ROOT.'/wap/inc/header.php';
include $DOCUMENT_ROOT.'/wap/inc/db/config.php';
#########################################################
if (empty($page)) $page = 0;
if ($page < 0) $page = 0;
#########################################################
#########################################################
$count_query = 'select count(*) from guestbook where 1 ;';
$total_mess = mysql_query ($count_query);
$total_count = mysql_fetch_array ($total_mess);
$count = $total_count ['count(*)'];
##########################################################
$query = 'select * from guestbook where 1 ORDER BY 'date' DESC LIMIT '.$page.', '.$max_mess.';';
$result = mysql_query($query);
if (!$result)
{
echo "Error! mysql_query".mysql_error();
exit;
}
echo "Всего сообшений: ".$count;
if ($count < 0) # Если нет сообшений выключаем
{
echo 'Нет сообщений!';
include $DOCUMENT_ROOT.'/wap/inc/footer.php';
exit;
}
while ($i < $max_mess) # Цикл проверки кол-ва строк для вывода их
{
$row_date = htmlspecialchars(mysql_result($result, $i, "date"));
$row_name = htmlspecialchars(mysql_result($result, $i, "name"));
$row_message = htmlspecialchars(mysql_result($result, $i, "message"));
echo "<br/>###<br/>";
echo "Время: ".$row_date;
echo "<br/>";
echo "Имя: ".$row_name;
echo "<br/>";
echo "Сообщение: ".$row_message;
echo "<br/>";
$i++; # Добавление к $i единицу
}
##########################################################
if ($page > 0) echo '<a href="read_mess.php?page='.($page - $max_mess).'">Предыдущие</a> ';
if ($count > $page + $max_mess) echo ' <a href="read_mess.php?page='.($page + $max_mess).'">Следующие</a>';
#######################################################
include $DOCUMENT_ROOT.'/wap/inc/footer.php';
?>]
|
Кто сможет сказать мне как сделать так что бы пустые сообшения не показывались? | |
|
|
|
|
|
|
|
для: Akira
(23.10.2004 в 18:11)
| | Ну можно проверить сообщение и если оно пустое, то пропустить текущий цикл и перейти к следующему при помощи инструкции continue;
<?
while ($i < $max_mess) # Цикл проверки кол-ва строк для вывода их
{
$row_date = htmlspecialchars(mysql_result($result, $i, "date"));
$row_name = htmlspecialchars(mysql_result($result, $i, "name"));
$row_message = htmlspecialchars(mysql_result($result, $i, "message"));
$row_message = trim($row_message); // Убираем начальные и конечные пробелы
// Если сообщение пустое - переходим к следующему циклу
if(empty($row_message)) continue;
echo "<br/>###<br/>";
echo "Время: ".$row_date;
echo "<br/>";
echo "Имя: ".$row_name;
echo "<br/>";
echo "Сообщение: ".$row_message;
echo "<br/>";
$i++; # Добавление к $i единицу
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(23.10.2004 в 18:22)
| |
<?php
include $DOCUMENT_ROOT.'/wap/inc/header.php';
include $DOCUMENT_ROOT.'/wap/inc/db/config.php';
#########################################################
if (empty($page)) $page = 0;
if ($page < 0) $page = 0;
#########################################################
#########################################################
$count_query = 'select count(*) from guestbook where 1 ;';
$total_mess = mysql_query ($count_query);
$total_count = mysql_fetch_array ($total_mess);
$count = $total_count ['count(*)'];
##########################################################
$query = 'select * from guestbook where 1 ORDER BY 'date' DESC LIMIT '.$page.', '.$max_mess.';';
$result = mysql_query($query);
if (!$result)
{
echo "Error! mysql_query".mysql_error();
exit;
}
echo "Всего сообшений: ".$count;
if ($count < 0) # Если нет сообшений выключаем
{
echo 'Нет сообщений!';
include $DOCUMENT_ROOT.'/wap/inc/footer.php';
exit;
}
while ($i < $max_mess) # Цикл проверки кол-ва строк для вывода их
{
$row_date = htmlspecialchars(mysql_result($result, $i, "date"));
$row_name = htmlspecialchars(mysql_result($result, $i, "name"));
$row_message = htmlspecialchars(mysql_result($result, $i, "message"));
$row_message = trim($row_message);
if (empty($row_message)) break;
echo "<br/>###<br/>";
echo "Время: ".$row_date;
echo "<br/>";
echo "Имя: ".$row_name;
echo "<br/>";
echo "Сообщение: ".$row_message;
echo "<br/>";
$i++; # Добавление к $i единицу
}
##########################################################
if ($page > 0) echo '<a href="read_mess.php?page='.($page - $max_mess).'">Предыдущие</a> ';
if ($count > $page + $max_mess) echo ' <a href="read_mess.php?page='.($page + $max_mess).'">Следующие</a>';
#######################################################
include $DOCUMENT_ROOT.'/wap/inc/footer.php';
?>
|
Вообщем-то идея хорошая =) Но я вместо continue использовал break т.к. 1) с continue не работает 2)Все поля проверяються на заполнение => Если поле сообшения пустое то цикл можно завершить =)
и теперь все работает =) | |
|
|
|
|
|
|
|
для: Akira
(23.10.2004 в 19:46)
| | Угрохал кучу времени... Сделал новости, статистику (хосты, хиты, браузеры), чат.
Теперь доделываю Админку...
Не как не могу справиться с session(); =(
Кто покажет простой способ? | |
|
|
|
|
|
|
|
для: Akira
(24.10.2004 в 19:49)
| | Давайте другую тему заведём для обсуждения, а то эта уже длинная. Не очень понятно в чём проблема с сессиями - может вы скажете что вы хотите с ними сделать и чего не получается? | |
|
|
|
|
|
|
|
для: cheops
(24.10.2004 в 20:06)
| | Вообще-то все =) Но я использовал передачу переменных по ссылке, правда приходиться проверять в бд но это не важно...
И еще я ЗАФИНАЛИЛ Wap Portal =) Новостная Линия, Чат, Гостевая, Автом. Генерация линков на файлы, Админка. Кому интересно могут взять на http://mobileman.ru/files/wp(1).zip | |
|
|
|