Главная · Статьи · Файлы · Фото галерея · Видео онлайн
Библиотека
По авторам
По жанрам
Поиск по названию
Навигация
Главная
Статьи
Файлы
Обратная связь
Фото галерея
Видео онлайн
Поиск

Работа
Заказать сайт или программу

Примеры работ
Последние статьи
Технология уничтожения
«Мы – русские»
Ф.М. Достоевский - Д...
Европа против России...
Первые английские ко...
Reklama

Урок 6. Простейшая гостевая книга
сегодня использця уже полученные знания создадим простейшую гостевую книгу



первым делом создадим файл test2.dat



взять уже готовый файл можете тут

http://allmustdie.citadelchaos.ru/uroki/test2.dat




далее код гостевой (файл должен называться 5.php или переименуйте ссылку в
форме на свое имя



 
<h2>Гостевая книга</h2>
<form method="POST" action="5.php">
Имя<input type="text" name="T1" size="20"></p>
<p><span lang="en-us">E-mail</span><input type="text" name="T2" size="20"></p>
<p><textarea rows="7" name="S1" cols="29"></textarea></p>
<p><input type="submit" value="Послать" name="B1"></p>
</form>


<?
$find[] = "'\r\n'";
$replace[] = "<br>";

if(preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $T2))
{
if($T1<>"")
{
$old_db = file("test2.dat");
$new_db = fopen("test2.dat", "w");
$S1 = preg_replace($find,$replace,$S1);
$idtime=time();

fwrite($new_db,"$idtime|$T1|$T2|$S1|\n");

foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
fwrite($new_db,"$old_db_line");
}
fclose($new_db);
}

}
else
{
if($T1<>"")
echo "<h2>Поле email заполнено неверно!</h2>";
}

$cat_line = file("test2.dat");
foreach($cat_line as $line){
$cat = explode("|", $line);
echo "<hr><font color=red><b>",$cat[1],"</b></font><br><i><font color=green>",$cat[2],"</font></i><br> ",$cat[3];

if($id==$cat[0])
{
$imya=$cat[1];
$mulo=$cat[2];
$posttext=$cat[3];
}
}

?>








разберем код



 


<h2>Гостевая книга</h2>
<form method="POST" action="5.php">
Имя<input type="text" name="T1" size="20"></p>
<p><span lang="en-us">E-mail</span><input type="text" name="T2" size="20"></p>
<p><textarea rows="7" name="S1" cols="29"></textarea></p>
<p><input type="submit" value="Послать" name="B1"></p>
</form>



в этом коде мы создаем форму для ввода данных в гостевую

поля - Имя, емейл, и Поле для текста.





 


$find[]     = "'\r\n'";
$replace[] = "<br>";






создаем 2 массива. они нам понадобятся что бы в тексте поста пользователя
заменять символы конца строки на символ <br> - хтмл код новой строки. если
этого не сделать, то мы нарушим структуру нашей базы. ведь в комментарии
пользователя не одна строка а значит вместо того что бы для каждой записи
использовалась бы одна строка у нас будет несколько строк. и структура базы
потечет.





 



if(preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $T2))
{





Т2 - это поле в которое вводится емейл. и мы проверяем правильность заполнения
этого поля. для этго используется функция preg_match. первым параметров у этой
функции идет маска вводжа. вторым сама переменная с введенным текстом, который
и проверяется по этой маске.



 


if($T1<>"")
{
$old_db = file("test2.dat");
$new_db = fopen("test2.dat", "w");
$S1 = preg_replace($find,$replace,$S1);
$idtime=time();

fwrite($new_db,"$idtime|$T1|$T2|$S1|\n");

foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
fwrite($new_db,"$old_db_line");
}
fclose($new_db);
}

}



проверяем если при обновлении страницы поле Т1 непустое (имя пользователя) то
выполняем действия внутки условия (проверку не пустомы поля емейла - выше).



$old_db = file("test2.dat");

октрываем файл с записями и считываем его



$new_db = fopen("test2.dat", "w");

отрываем файл для записи + очищаем его



$S1 = preg_replace($find,$replace,$S1);

S1 -комментарий пользователя. как я говорил выше. мы заменяем коды конца
строки на символы новой строки хтмл.



$idtime=time();

создаем переменную в которую записываем текущее время. он будет служить ID
записи. в данный момент над это не нужно. но мы заранее это делаем т.к. когда
будем делать админку то понадобится для редоктирования записей. но ней будут
искаться записи



fwrite($new_db,"$idtime|$T1|$T2|$S1|\n");

записываем доную запись в базу.



foreach($old_db as $old_db_line){

$old_db_arr = explode("|", $old_db_line);

fwrite($new_db,"$old_db_line");

}

записываем старые записи в базу. они записываются ПОСЛЕ новой.



fclose($new_db);

закрываем файл. записб закончена











 


else
{
if($T1<>"")
echo "<h2>Поле email заполнено неверно!</h2>";
}

$cat_line = file("test2.dat");
foreach($cat_line as $line){
$cat = explode("|", $line);
echo "<hr><font color=red><b>",$cat[1],"</b></font><br><i><font color=green>",$cat[2],"</font></i><br> ",$cat[3];

if($id==$cat[0])
{
$imya=$cat[1];
$mulo=$cat[2];
$posttext=$cat[3];
}
}

?>





if($T1<>"")

echo "<h2>Поле email заполнено неверно!</h2>";



тут если поле емейл заполнено не верно то выводится сообщение об этом. и
запись не производится

ниже идет обычный вывод на экран записей из базы. подробно это мы разбирали
уроком раньше.



собственно сама гостевая

http://allmustdie.citadelchaos.ru/uroki/5.php


можете пробовать у себя или у меня (у себя лучше по причине того что лучше
разберетесь в коде)

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь.
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

Пользователей: 1
Не активированный пользователь: 0
новичок: AMD
Статистика
Яндекс.Метрика
Rambler's Top100


PR-CY.ru
Protected by Copyscape Online Plagiarism Checker
Back To Top Back To Top Back To Top

Best Viewed 1280x1024