Как сделать отзывы на сайте с помощью PHP


Если у вас имеется простенький сайт или блог без базы данных, но вам нужно добавить форму комментариев или отзывов - можно решить этот вопрос. Мы сделаем так, чтобы все сообщения приходили на email, плюс будем отсеивать спам, и публиковать только те, которые не содержат http://.

Для начала в файле .htaccess закрываем служебную информацию comments.txt:

<Files "comments.txt">
Deny from all
</Files>

Создаем файл comments.html, в самый верх которого без пробелов и отступов вставить скрипт PHP:

<?
// занести в массив значение полей
$z 
  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>" . $z[1] . "<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 >
  <label>Как к Вам обращаться:</label>
  <input   required/>
  <label>Email (не публикуется):</label>
  <input   required/>
  <label>Oтзыв:</label>
  <textarea  required ></textarea>
  <input  >
</form>

<dl>
<? echo $dl; ?> <!-- PHP -->
</dl>

При первом сообщении будет создан файл comments.txt, в который будут попадать все оставленные отзывы. Их можно будет удалять, редактировать либо добавлять свои.


Comments 11


Тысячи призовых!!! Китовые апы!!! Сытный крококонкурс «Новогодний костюм голосянина»! Вливайся в движ, бро аль систа!!!

/ru--konkurs/@mimocrocodil/reglament-krokokonkursa-novogodnii-kostyum-golosyanina

26.12.2018 16:23
0

спасибо за подсказку.)

26.12.2018 16:29
0

Согласен на все сто!

26.12.2018 19:12
0

@djimirji up!
@vik 100%

27.12.2018 18:58
0

💡 @maximus00 получил апвоут на 15% (VotingPower 9317.34).
Апайте посты блога: /@djimirji и будете получать апвоуты на 30%
Пост может попасть в двухдневный рейтинг и получить награду в случае АПА поста
Пост может попасть в еженедельный рейтинги получить награду в случае АПА поста

Условия вызова бота:

  • Кто угодно может оставить призыв под автором поста, находящимся у меня в подписчиках.
  • Бот можно вызывать не более 3-х раз за 24 часа.
  • АП на 15%, если "батарейка" более 93%. АП на 12% если батарейка от 92% до 85%. АП 10% если ниже 85%.
  • После АПОВ коментариев бот голосует с большей силой.
27.12.2018 19:07
0

Программа помощи авторам - инвесторам Моби Дика. Вливайся в кита, не просаживай батарейку и кит проголосует и за твою статью.

27.12.2018 23:01
0

28.12.2018 16:29
0

💡 Поздравляю, Ваш пост попал в рейтинг: Рейтинг постов от djimirji. Период 26.12.2018-28.12.2018.

В случае апвоута поста с наградой, вознаграждение составило бы: 0.125 GOLOS

29.12.2018 13:07
0

💡 Поздравляю, Ваш пост попал в рейтинг: Еженедельный рейтинг постов от djimirji. Неделя 24.12.2018-30.12.2018.

В случае апвоута поста с наградой, вознаграждение составило бы: 0.062 GOLOS

02.01.2019 10:06
0