Предпросмотр материала:
Практическая работа 62-63
Создание страницы отзывов/комментариев на сайте средствами PHP
Цель: научиться создавать страницу отзывов/комментариев средствами PHP
Теоретические сведения
Простейшее решение создания страницы отзывов/комментариев на сайте без базы данных. Все сообщения будут приходить на email. Чтобы отсеять спам, публиковаться будут только те, которые не содержат http://. Если в тексте присутствует http://, но оно не является спамом, то его можно будет вручную прописать в файле comments.txt.
В файле .htaccess закрыть служебную информацию comments.txt:
<Files "comments.txt">
Deny from all
</Files>
Создать файл comments.php, в самый верх которого без пробелов и отступов вставить скрипт PHP:
<?
// занести в массив значение полей
$z = array(
1 => $_POST['name'],
2 => $_POST['email'],
3 => $_POST['content']
);
$dl = '';
if($z[1] && $z[2] && $z[3]){
mail("name@yandex.ru", "заполнена форма site.ru", $z[1] . "\n" . $z[2] . "\n" . $z[3]); // сообщение на ваш email о новом отзыве
if(strpos($z[3], 'http://') === false){ // если в тексте отзыва нет http://
$fp = fopen("comments.txt", "a+"); // режим записи
$mytext = "<dt><a href='" . $z[2] . "'>" . $z[1] . "</a><dd>" . $z[3] ;
$save = fwrite($fp, $mytext); // запись в файл
fclose($fp); // закрытие файла
Header("Location: ".$_SERVER['PHP_SELF']); // обновить страницу; обновлённая версия содержит опубликованный комментарий
exit;
} else { // если в тексте есть http://
$dl = '<b style="color: red;">Ваш отзыв будет опубликован после проверки автором сайта</b>'; // показан этот текст
}
} else {
$fp = @fopen("comments.txt", "r"); // режим чтения
if ($fp) {
while (!feof($fp)) {
$dl .= fgetss($fp, 8000, "<dl>,<dt>,<dd>"); // <dl>,<dt>,<dd> - это список тегов, разрешённых для публикации
}
}
fclose($fp);
}
?>
В удобном месте в comments.html добавить HTML код формы
<form method="post">
<label>Как к Вам обращаться:</label>
<input type='text' name='name' required/><br><br>
<label>Email (не публикуется):</label>
<input type='email' name='email' required/><br>
<label>Oтзыв:</label><br>
<textarea name='content' required rows="5"></textarea><br><br>
<input type='submit' value='публикация'/>
</form>
<dl>
<? echo $dl; ?> <!-- PHP -->
</dl>
При первом сообщении создастся файл comments.txt. В него будут падать все оставленные отзывы. Их можно будет удалять, редактировать либо добавлять свои.
Ход работы
Задание. Создайте страницу отзывов/комментариев на своем сайте.
Профессия: Преподаватель информационных технологий
Профессия: Учитель информатики
В каталоге 7 333 курса по разным направлениям