Полюбите код! И он полюбит Вас!

Последние комментарии:

Марат : А ничего что я у Вас ошибочку нашёл? - Ничего!(пока далее

2017-10-11 10:02:06



Иван : А ничего что я у Вас ошибочку нашёл? (пока что далее

2017-10-11 02:24:33



Марат : Спасибо!У каждой вещи есть свои положительные и отрицательные стороны!Не знаю, далее

2017-10-08 23:49:00



Дмитрий : Отличный скрипт! Автору большой респект! Но скрипт был бы ещё далее

2017-10-08 22:55:59



Марат : Всегда пожалуйста!Приходите ещё! далее

2017-10-02 00:38:38



Это интересно:

Рейтинги страниц.

Комментирование на файлах

Главная тема страницы «Комментирование на файлах».На самом деле сделать свою систему комментирования очень просто.

Мы уже посвятили несколько статей разным системам комментирования можете посмотреть, там есть несколько разных систем комментирования для сайта! НО! Есть БОЛЬШОЕ, НО!

Довольно интересной оказалась тема разработки самостоятельно достойной система комментирования на файлах. Да и вообще, всё, что есть мне не нравится, либо что тоне хватает, либо, что-то лишнее.

Поэтому сделаем на каждую версию свой скрипт, и свой пример.

Версия скрипта 1.0 01.01.2017

Версия скрипта 1.1 23.03.2017

тестовая страница.

Скопировать коды

Версия скрипта 1.2 08.07.2017

Описание

Установка

тестовая страница.

Скачать скачали 7 раз/а.

Версия 1.0

В чем заключается оно!? Наше, но!?

Если вспоминать меня, то в самом начале, когда я себе хотел установить простую систему комментирования, то оказалось, что такой системы нет! Давайте выразимся точнее! Я в то время ничего не нашел… либо оно было очень сложно для моего понимания!

Видео о самом простом скрипте комментирования на сайте.

Не забываем подписываться!

У меня(ну не у меня, а у кого-то) сайт состоит из 2-3 страниц и мне не нужна какая-то громоздкая система, в которой надо разбираться год, а то и не разберешься! И мне нужна система комментирования, даже не система, а скрипт, даже не скрипт, а 5 строчек кода, чтобы этот код вставить в ту страницу и всё! Больше ничего не нужно делать и ни в чем не нужно разбираться! Всё остальное только и останется одобрять, либо удалять коменты на нашей странице с сообщениями!

Готовы! Погнали … будем делать «это» в самой извращенной форме!

Друзья! Давайте сразу договоримся, что я не буду рассказывать все функции иначе это затянется очень надолго – самая минимальная информация!

Буквально в двух словах, как наши комментарии будут работать!

На странице будет форма с полями, после отправки сообщения будет создаваться страница с комментариями для этой страницы, если она еще не создана, это будут происходить автоматически.

И наши комментарии будут возвращаться на нашу страницу с помощью инкулуда. Наши страницы должны формироваться по какому-то определенному алгоритму, а не просто так и должна всецело зависеть от страницы, откуда будут отправляться сообщения.

Сначала, для того, чтобы нам сформировать какую-то уникальную часть ссылки нам нужно её получить, например, таким образом. Получим из адресной строки всё, что стоит после названия домена ($_SERVER["REQUEST_URI"]), оставим в нём только буквы и цифры(mb_ereg_replace), обрежем по краям(trim) и все это загоним в переменную ($name_page_post).

$name_page_post = trim(mb_ereg_replace("[^a-zA-Zа-яА-ЯёЁ0-9]", "-", $_SERVER["REQUEST_URI"] ));

Если мы сделаем эхо этой переменной, то она выдаст нам вот такое:

-Test-Test-html

Далее возьми и создадим в корневой папке новую папку(store), в которой и будем сохранять все наши новые страницы с комментариями!

Далее создадим абсолютный путь до наших ещё не созданных страниц и этот путь будет основным во всем нашем скрипте.

Далее абсолютный путь до нашей корневой папки

($_SERVER[DOCUMENT_ROOT].)

Далее добавим слеш с двумя точками(присоединение) по краям(].'/'."). Вы можете спросить, почему слеш нельзя поставить перед папкой store – потом мы еще вернемся к этому..

Ну и последнее – путь до нашего файла с комментариями(store/coments"..".txt";)

$New_file_comments = $_SERVER["DOCUMENT_ROOT"]."/"."store/coments".$name_page_post.".txt";

Эхо в моём случае выдает:

здесь абсолютный путь до корневой папки/store/coments-Test-Test-html.txt

Нужна ли нам дата в наших комментариях – мне кажется да! Тогда давайте получим нашу дату

$data = date("Y-m-d");

Далее получим комменты, емайл, имя.

$komment = $_POST['komment'];

$name = $_POST['name'];

$email = $_POST['email'];

Далее будем поступать просто отправлять емайл на тот емайл, который посетитель оставит на странице, если письмо отправляется, то возвращает true если нет, то false. На этом строим наши условия. Естественно, что в этих полях моте написать, всё, что угодно.

$to = $email;

$subject = "Проверка реальности вашего мыла";

$message = "Данное сообщение отправлено для проверки правильности заполнения поля ввода мыла, просто удалите данное сообщение";

И наше условие

$proverka = mail($to, $subject, $message);

if ($proverka == FALSE )

{

echo "Данная почта не существует!";

}

else

{

Здесь будет еще инфа

}

С мылом разобрались, сделаем еще несколько условий, проверка мыла у нас не будет первой, она будет у нас внутри других проверок.

Чтобы ваша страница на запускала скрипт при каждой перезагрузки страницы надо условие:

If(isset($_POST["buttom"]))

{

Здесь будет еще инфа

}

Вы, наверное, думаете, что это такое сложное – но уверяю вас – это самый минимум! Я бы сказал максимальный минимум!

Далее нам нужна проверка на всякую хрень, которую любят совать наши любознательные пользователи!

Я предлагаю не церемониться с этим мусором! Потому, что я не люблю людей, которым делать нечего!

Ниши сообщения должны быть на русском языке и все, что написано не на нём будем выдавать соответствующее сообщение! И првоеряем две переменные: komment + name.

$res= preg_match("/[<>a-zA-Z]/",$komment.$name);

if ($res== TRUE)

{

echo "Не фиг сувать всякую хрень";

}

else

{

Здесь будет еще инфа

}

Как будем записывать все данные!?

В переменную текст вставим абзац в котором поставим display: none; - это означает, что сообщение не будт видно и потом выдадим сообщение, запишем все данные через слеш.

$text = "<p style='display: none;'>".$data ."/". $komment ."/".$name ."/". $email ."/</p>

";

Далее создадим нашу страницу и запишем в неё верхнюю инфу

$f_out = fopen($New_file_comments,"a+"); //Открываем страницу для записи

fwrite($f_out, $text); // записываем на страницу с добаленным содержанием

if (fwrite != FALSE)

{

echo "Ваш сообщение будет доступно после проверки";

}

else

{

echo "Не получилось записать сообщение, поробуйте ещё раз!";

}

fclose($f_out);

}

И далее нам нужно получить данные с созданной страницы .

Проверяем .. если страница не создана, то говорим «Комментариев пока нет», если же файл существует, то запускам наш инклуд.

If(@file($New_file_comments))

{

echo '<div class='firts'>Последние комментарии:';

include($New_file_comments);

echo '</div>';

}

else

{

echo ' Комментариев пока нет ';

}

И последнее – нам нужна форма отправки, action пустой, потому, что он будет выполняться на своей странице. С остальным вам придется разбираться самостоятельно! Это ваше домашнее задание!

<form method="POST" action="">

<textarea type = "text" name = "komment" cols ="70" rows ="3" placeholder="введите текст" required></textarea><br>

<input type="text" name="name" placeholder="Как вас зовут" required><br>

<input type="text" name="email" placeholder="email" required><br>

<input type="submit" name="buttom" value="отправить"><br>

</form>

Первый скрин - это после того, как отправлено сообщение.

Сами делаем комментирование на сайте

Второй скрин – Пришло сообщение и в каком виде – пример.

Сами делаем комментирование на сайте

Третий скрин – Здесь выводится информация, как она запакована в простой одинарный абзац. Естественно, что имя, дату можно запаковать в отдельные дивы (<div>) Присвоить им классы и покрасить, либо позиционировать как вам нравится! + емайл естественно, что выводить тоже не стоит на странице!

Сами делаем комментирование на сайте

Всё!

Ну и теперь весь код о котором мы рассказывали на странице нам нужно собрать…

Скопировать коды здесь.

Ну и, уж совсем было бы скучно, если нет на чем потренироваться! Сказано! Сделано… тест

P.S.

И следующим шагом будет – использование шифрования для того, чтобы скрыть наш емайл, который мы получим из формы! + сняли видео!

Версия 1.1

Это по сути заново сделанный скрипт комментирования на файлах, который уже полноценно можно использовать на своем сайте.

Единственное, что осталось – это форма и сам принцип работы и сохранения в файл, все остальное написано заново.

Давайте начнем с самого начала:

1.

Первая часть до начала страницы – создаем переменную zamena, которая нам позволит устанавливать в любое место наш скрипт. В любую папку…. подробнее

2.

Написали немного стилей.

3.

Подключена поддержка граватара.

4.

Описание переменных

$name_page_post создается название страницы из последней ячейки массива pieces, где лежит название страницы в адресной строке.

$metka - метка времени уникальный ид, который никогда не повторяется, можно много где использовать. В данном случае, записывается в файл и работает с кнопкой ответить.

$poisk - если стоит NO то сообщения не будут показываться? До тех пор, пока вы не измените в начале строки её на .YES.

$your_file_with_KOMMENT - путь до файла от корневой папки.

$home чтобы каждый раз не писать $_SERVER["DOCUMENT_ROOT"]

$url url страницы .

include("IN_OUT.php") функция шифрования мыла.

Здесь, конечно можно поставить вопрос вообще нам зачем записывать емайл!? Если только мы не планируем , например сделать оповещение на емайл, к примеру кнопку подписаться, в следующий раз, надеюсь это сделаем.

$res = preg_match проверяем нет ли латиницы это прямой фильтр, чтобы не совали всякую хрень, вредоносный код, ссылки и т.д.

$proverka закомментирована(стоят два слеща//), если вам нужно проверять реальный ли емайл указал пользователь, то слеши убираем + в следующей строчку убираем восклицательный знак.

$email = translit описано сверх у шифрование.

$identifikator проверяем пустой или нет идентификатор это та же переменная $metka , специально сделано так, чтобы были разные переменные с одиноковым значением. В случае нажатия кнопки ответить, то переменная identifikator существует, если нет, то нет. А переменная metka существует всегда…

Внутри условия идентификатора:

Создаем VTOROY_UROVEN = _2 будет зависеть весь отступ ответов второго уровня.

$otvet_to_name ответ кому, выбираем имя из скрипта.

require_once включаем библиотеку склонений описание - + превращаем имя в родительный падеж. + превращаем имя в родительный падеж.

иначе VTOROY_UROVEN и otvet_to_name равно пробелу.

Конец условия наличия отсутствие идентификатора

$text - текст, который будем записывать

$get_contents_comments - получим все комменты.

Подавляем ошибки «@» - для того, что перед первым коментом файла не существует.

Strpos ищем идентификатор по которому нажали ответить, если есть, то заменим его самого на себя и прибавим к нему наш текст это переменная replacements.

Ели не нашли, то прибавим к тексту перенос строки «\n»

f_out откроем файл для записи.

Fwrite запишем новый текст.

Далее закомментировано если вы установили , NO сверху, то здесь убираем слеши .

Если нужно убираем слеши, вам будет приходить сообщение о новом комменте.

$count считаем строки.

$find пустой массив.

For цикл, перебираем все строки, и выводим все строки у которых есть слово YES, с NO не показываем.

Разобьем все строки на массивы explode с разделителем ::

Повтор $text , чтобы наверх каждый раз не бегать.

$data = $piece[1] заменим все ячейки массива на понятные названия.

Создадим переменную $knopka и навесим на неё три события онклик. 1.индентификатор метка,2.Имя человека которому хотим ответить. 3.вывод этого имени на экран.

Ну и echo - вывод наших коментов.

Надеюсь форму не надо обьяснять…

Ну и в конце смотрим, что у нас получилось…

Плюс можно посмотреть файл, на который будут записываться все данные с этой страницы.

Скопировать коды

Здесь не нужно беспокоиться об этом файле, что его увидят или скопируют, здесь вы его можете посмотреть, потому, что я к нему не закрыл доступ! Для того, чтобы не закрывать каждый файл коментов, делаем отдельную папку и всеми способами закрываем к нему путь 1.через robots.txt 2.через файл .htaccess. Чтобы и человек не смог его увидеть и робот.

Версия скрипта DwWeb-koments 1.2 08.07.2017

Итак… мы сделали это! Довольно много ушло времени и вот, практически готова система комментирования!

И первое. Что требуется – это её назвать. Пусть будет DwWeb-koments.

Практически полностью переработаны скрипты. Фактически – это новая система комментирования!

Описание:

Установка:

Тестовая страница.

Скачать

И давайте по порядку.

Внимание!

Не забываем, что пароли и логины лучше всего хранить выше корневой папки Если ваш сайт скачать, а такая возможность есть, то все данные, что лежат в корневой папке и ниже - будут доступны. Я конечно не думаю, что ваш сайт будут скачивать, но кто знает…

1.Файл config.php - главная с настройками.

Файл config.php ищем в папке "all" – основные настройки находятся здесь.

Не буду вам рассказывать каждую строчку, а лишь тезисами… самое важное…

1.Первая строчка - включение отключение ошибок – для настройки скрипта.

2. (12,13) строка меняем емайл и имя на свое.

2.а.(15, 16) переменная http://dwweb.ru меняем на свое.( - это еще в проецессе)

3. 'YES' or 'NO’ (26 - 30)– отделены знаком «#» пять строки – если хотите настроить индивидуально..

4.Логин + пароль (37,38) -нужно изменить.(как изменить!? По умолчанию admin, 12345 Потребуется редактировать два файла admin.php + config.php.

Открываем в редакторе - файл admin.php строки (29,30) убираем впереди стоящие два слеша… сохраняем, загружаем на сервер. Открываем страницу в браузере, вводим желаемое имя и пароль – нажимаем отправить. Сверху выдаст шифрованные данные 1 строчка копируем вставляем в строку 37 в файл config.php – кавычки не трогаем…

Вторая строчка – это шифрованный пароль – копируем –вставляем в строку 38(config.php). Сохраняем. В файле admin.php возвращаем слеши на место…

5.Строка 32 Добавляем стоп слова, чрез запятую, пользователь будет заблокирован по емайлу и в куках, если пользователь будет использовать свой засвеченный емайл, то он больше не сможет отправить сообщение!

6.Строка 60 – 1000 знаков ограничение сообщения.

2.Файл admin.php

Вход в админ панель, после входа вам будет доступно редактирование страницы на которой оставлены комментарии…

Как зайти!?

В форме ищем строку "Ваша почта" – двоеточие это ссылка.

Можете попробовать на тестовой странице.

Здесь, на тестовой странице - всякое редактирование отключено...

3.Файл delite.php

Файл предназначен для редактирования сообщений.

1.Если по умолчанию комментарии показываются(config.php(26)), то возле сообщения будет кнопка с желтым текстом - скрыть, и с красным – удалить.

2.Если по умолчанию комментарии не показываются, то будет зеленый текст – утвердить, и красный удалить…

4.Файл form.php

Основная часть формы.

5.Файл heder.php

Основная часть скрипта.

6.Файл logout.php

Страница выхода.

7.Файл udalenie_podpiski.php

Страница удаление подписки.

Папка "all"

8.Файл .htaccess

Если нужно ограничить доступ к папке, т.е. папку нельзя открыть в браузере. И к другим файлам, в папке.

Указываем путь (абсолютный до файла .htpasswd(3)) – страница пока про это не готова, можно прочитать немного здесь.

Строка 5 заперт для открытия файлов с расширением php и cfg(пример)

Если не знаете как пользоваться, пока не загружайте данный файл.

9.ALL_emails.dat

Зашифрованные емайлы, чтобы не отправлять повторно для проверки правильности емайла при отправке сообщения.

10.Файл BAD_emails.dat

Зашифрованные емайлы, которые пытались отправить плохие слова...

11.demo_style.css

Файл стилей.

12.IN_OUT.html

Функция шифрования .

13.Файл sklonenie.php

Склонение... используем свои разработки. Имя будет склоняться в дательном падеже. Т.е. «ответ кому-то».

В настройках в файле config.php можно включить, отключить склонение. Если вы не хотите использовать склонение, то в строчке 30 нужно поставить «NO» .

Будет показываться строка такого типа – ответ пользователю (имя…)

14.Файл logout.php

Файл выхода.

15.Ппака "podpisatsa"

Все подписки будет складываться в эту папку.

16.Ппака "store"

все коменты будут складываться сюда.

Установка коментариев на сайте

Архив распаковываем и папку DwWeb-koments бросаем в корневую папку. В файле config.php первую строчку ставим впереди два слеша, (сохраняем закидываем на сервер) чтобы увидеть ошибки, если таковые будут, либо вместо 'off' - 'on'.

Открываем тестовую страницу, она должна быть доступна по адресу:

Где http://dwweb.ru/ - ваше название вашего доменного имени

http://dwweb.ru/DwWeb-koments/Test.html

Желательно протестировать все функции скрипта. А уж потом устанавливать на сайт.

Далее в файле

1.

Первая строка - в самое начало страницы, перед ней никаких видимых выводов, и/или echo не должно быть.

2.

Вторую строку:

Файл стилей css ставим между тегами

<head></head>

3.

Третью строчку ставим в то место, где будут комментарии…


Мы подумали, что нужно сделать рубрику, когда будут по датам внесенные изменения.

25.ИЮЛЬ.2017.

Были внесены следующие изменения!

Дополнительные настройки (config.php)- мы отказались от проверки на латиницу в тексте.

Можно выбрать - проверять на латиницу только имени. (29)

Можно выбрать склонять имя кому адресован ответ. Если выбран не склонять, то строка будет такого типа – «Ответ пользователю (его имя)» иначе «Ответ (кому-то, в дательном падеже).

+ Немного почищен код…

Понравилась статья!? Не стесняйся – поделись ссылкой!

И!

Пожалуйста! Если вам не трудно - прокомментируйте то, что вы прочитали! Вам понравилось, или не понравилось! Напишите, какие мысли возникли у вас, и это бесплатно для вас, но очень ценно для нас!!! Всё, что вы здесь видите - это написано для вас! Никаким другим образом мы не можем понять вашу реакцию. Может, что-то стоит добавить или наоборот убрать. Либо, что-то стоило изменить...

P.S.

25 октября 2017

Мы запустили подписку на новости по емайлу, как только выходит новая статья, то будет отправлено сообщение на почту, что вышла новая статья!

Почему стоит подписаться на наши новости!?

Расскажу историю, вчера искал ответ на один из вопросов (конечно, я могу и сам написать, но чаще всего, вначале, ищу в интернете, может есть готовое решение…) и было множество вариантов, которые были описаны, но ни одного, с примерами! И мало того, что они предлагают решения, которые непонятно как реализовывать, особенно новичкам, у которых больше вопросов, чем ответов. Так они еще и не работают!

У нас же, на сайте – только рабочие проверенные скрипты! Полностью с описанием и с примерами! И реализовать может человек с нулевыми знаниями!

Мы есть здесь:

Проголосовать за статью!
  С 24 сентября мы запускаем новый скрипт в тестовом режиме (только свои скрипты)
  Вы можете проголосовать за понравившуюся статью.

  Еще никто не проголосовал
    


Просмотров 1406

Друзья!

Для того, чтобы вы получили бесплатную информацию, мы потратили и время и деньги!

Мы существуем от кликов по рекламе!

Если вы не нашли подходящего блока объявлений, то вы еще можете помочь проекту!

Не стесняйтесь!

Даже самая маленькая сумма будет употреблена на продвижение и улучшение проекта!

Заранее благодарим Вас!

Оставить комментарий:

Для отображения аватара после отправки сообщения, необходимо быть зарегистрированным в Граватаре.



Комментарии (2)

Вы просматриваете: http://dwweb.ru/Php/SVOE_Komentirovanie/1-samaya-prostaya-sistema-kommentirovaniya.html
Gravatar
Ирл (Питер)
Жаль, что имя и комментирование доступны только на кириллице... Sad Было бы здорово, сли бы вы всё-таки оставили возможность комментов и на латинице! А вообще, спасибо огромное за проделанный труд!
21/06/2017 09:13
Gravatar
Марат
Да, возможно,.. это просто было сделано по самому простому пути, чтобы всякие теги не сували... Да и я только, что говорил по телефону и рассказывал ту историю, почему я решил делать свою систему комментирования - чтобы она была максимально простая! Чтобы было понятно, что к ... Читать дальше
21/06/2017 21:03
Страница 1 из 1

* Обязательные поля
(Не публикуется)
 
Жирный Курсив Подчеркнутый Перечеркнутый Степень Индекс Код PHP Код Кавычки Вставить линию Вставить маркированный список Вставить нумерованный список Вставить ссылку Вставить e-mail Вставить изображение Вставить видео
 
Улыбка Печаль Удивление Смех Злость Язык Возмущение Ухмылка Подмигнуть Испуг Круто Скука Смущение Несерьёзно Шокирован
 
5000
Сколько будет 1 + 2 + 3?
 
(введите ответ)
 
Уведомлять о новых коментариях по почте.
 

Оставить комментарии через вконтакте

Все дела сделаны!

Теперь можно и поиграть!

Понравилась игра!? Растфнуть на весь экран

Улучши поведенческий фактор на своём сайте.

Забери код здесь

Пишем полную инструкцию о пользовании ruweb.net + DirectAdmin

RuWeb.net - гибкий хостинг
Индекс цитирования