Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Программирование »   PHP »   Написание гостевой
RSS

Написание гостевой

В чем ошибка?

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Страницы: 1 2
Модератор: wsx
Печать
 
ICETD
Новичок


Всего сообщений: 33
Рейтинг пользователя: 0





Дата регистрации на форуме:
11 июня 2004
Остались две нерешенные проблемы: нужно, чтобы новые сообщения были сверху и чтобы на каждой странице было не более 10 сообщений, а не все вместе. А сейчас при отправке сообщения старые остаются на верху и новое внизу.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
1. Используй функцию array_reverse к массиву сообщений $data перед циклом foreach
2. Простое решение проблемы - цикл for с параметром, изменяющимся от 0 до 9, но тогда остальные сообщения станут вообще недоступны. А так, надо будет писать нормальное разбиение на страницы - один из самых неприятных моментов при разработке скриптов.
ICETD
Новичок


Всего сообщений: 33
Рейтинг пользователя: 0





Дата регистрации на форуме:
11 июня 2004
$data = array_reverse($data);
Добавил такой код и новые сообщения сверху. Осталось написать код разбиения на страницы и добавить смайлы. Также при отправки сообщения я хочу сделать возможность ставить галочки напротив таких пунктов: просто посетитель, специалист, случайный прохожий и типа этого. Т.е. кем себя считает посетитель. Это легко сделать, сложнее написать код для разбиения страниц.
ICETD
Новичок


Всего сообщений: 33
Рейтинг пользователя: 0





Дата регистрации на форуме:
11 июня 2004
Пока так и не понял, куда можно вставить код для разбиения сообщений на страницы. Код гостевой (кроме кода формы):

<?php
if ($_POST['text']) {
$fh=fopen("xxx.dat","a");
rsort($a);
flock($fh,2);
$time=time();
$nik=strip_tags($_POST['nik']);
$IP=$HTTP_SERVER_VARS["REMOTE_ADDR"];
$city=strip_tags($_POST['city']);
$about=strip_tags($_POST['about']);
$url=strip_tags($_POST['url']);
$email=strip_tags($_POST['email']);
$text=strip_tags($_POST['text']);
$text=str_replace("\n","
",$text);
Header("location:new.php");
fputs($fh,"$time|xxx|$nik|xxx|$url|xxx|$email|xxx|$text|xxx|$IP|xxx|$city|xxx|$about\n");

fclost($fh);
}
$data=file("xxx.dat");
$data = array_reverse($data);
foreach ($data as $msg)
{
list($time, $nik, $url, $email, $text, $IP, $city, $about)=explode("|xxx|",$msg);
echo date ("H.i.s d.m.Y ",$time)."
Автор(<font size=1 color=#FF0000>$IP</font>):$nik ($about)
Из города $city
Сайт автора: <a href=\"$url\">$url</a>
E-mail: <a href=\"mailto:$email\">$email</a>
Сообщение:
$text <hr>";
}
?>
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Код, который будет формировать ссылки для перехода на другие страницы, надо вставлять перед вот этими строками:
$data = array_reverse($data);
foreach ($data as $msg)
А сам цикл foreach замени на for с параметром от $start, до $start+$count, где переменная start передается через GET-запрос (если ее нет, то она считается равной нулю и выводим последние сообщения), а $count - это количество сообщений на 1 странице.
<<Назад  Вперед>>Страницы: 1 2
Модератор: wsx
Печать
Объединенный Открытый Проект »   Программирование »   PHP »   Написание гостевой
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0215. Количество выполненных запросов: 18, время выполнения запросов 0.0091