Показать сообщение отдельно
Старый 09.12.2006, 11:22   #15
Ruble
Местный
 
Аватар для Ruble
 
Регистрация: 26.04.2006
Сообщений: 467
Вы сказали Спасибо: 57
Поблагодарили 52 раз(а) в 23 сообщениях
Отправить сообщение для Ruble с помощью ICQ
По умолчанию Урок 2

Гостевая книга
часть первая.
Сообщения гостевой книги будут храниться в текстовом файле (messages.dat).
Одно сообщение - одна строка, т.е.
ДАТА<split>ИМЯ<split>СООБЩЕНИЕ
ДАТА<split>ИМЯ<split>СООБЩЕНИЕ
ДАТА<split>ИМЯ<split>СООБЩЕНИЕ

<split> - это разделитель, нужен он что бы мы в программе могли отделить ДАТУ от ИМЕНИ и от СООБЩЕНИЯ : ) он может быть любым.

Код:
<?
$html_output=''; //переменная в которой будем собирать весь HTML код, для последубщего вывода
$messages = file('messages.dat'); // Читаем весь файл с сообщениями в переменную $messages

for($i=0;$i<=count($messages)-1;$i++)  //проходим по всему массиву с сообщениями
{
    $mess = split('<split>',$messages[$i]); // разбиваем  сообщение по разделителю "<split>" на дату,имя и сообщение
    $html_output.=sprintf('
    <tr>
        <td><b>%s</b><br>%s</td>
        <td><i>%s</i></td>
    </tr>',$mess[1],$mess[0],$mess[2]);  
    //здесь значения даты,имени и сообщения форматируются HTML тэгами, для форматированного вывода в броузере

}

?>
<html>
<head>
<title>
Гостевая книга
</title>
</head>
<body>
<table width="100%" border="1" cellpadding="10" cellspacing="10">
<tr>
    <td>
        Гостевая книга
    </td>
</tr>
<tr>
    <td align="center">
        <table cellpadding="5" cellspacing="5">
        <?=$html_output?> <!-- выводим  все сообщения -->
        </table>

    </td>
</tr>
</table>
</body>
</html>
Во второй части добавим функциональность ввода сообщения от пользователя.
Ruble вне форума