Создать ответ 
Проблемы со скриптом добавления комментариев на сайт
Автор Сообщение
Nineor Не на форуме
Рядовой
*

Сообщений: 6
У нас с: Dec 2015
Сообщение: #31
RE: Проблемы со скриптом добавления комментариев на сайт
1) Пытался изменить, как вы написали, но тогда у меня отваливалась форма для отправки комментариев, так что решил не менять то, что и так работает.
2) До этого парился с кодировками - сами страницы у меня были сохранены в ANSI, поэтому приходилось указывать эту кодировку, чтобы на них был русский текст. Не знал, что можно внести запись в .htaccess. Заодно и русский язык стал отправляться.
3) Да, именно в этой строке была причина ошибки. Спасибо за помощь.
28.12.2015 19:42:40
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #32
RE: Проблемы со скриптом добавления комментариев на сайт
Перенес еще один комментарий из темы:

(31.12.2015 23:45:38)Владимир писал(а):Не получается. Что-то не так.
Я хочу вывести в шапку сайта общее количество комментариев.
К примеру: Всего комментариев: 13

И еще одно. Когда Отправляю коммент у вас на сайте то снизу пишет якобы отправлен на модерацию как на своем же сайте так сделать, чтобы не было через javascript.

Помогите пожалуйста как вывести это. Я новичок еще.
Буду очень благодарен вам.

Вот чего выводится:
[Изображение: tid_328_D886ff29.jpg]
02.01.2016 15:11:23
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #33
RE: Проблемы со скриптом добавления комментариев на сайт
Я же Вам писал в комментариях:
PHP код:
echo 'Комментариев - '.$number

А Вы похоже сделали так:
PHP код:
echo 'Отзывы .$number.'

Обратите внимание на кавычки!

Так же хочу обратить Ваше внимание на то, что если Вы планируете выводить количество комментариев отдельно от самих комментариев, то нужно заново получить их количество при помощи SQL запроса:
PHP код:
$res=mysqli_query($db,"SELECT count(id) FROM comment WHERE theme_id='".$theme_id."' and moderation=1");
$res=mysqli_fetch_array($res);
echo 
'Отзывы '.$res[0]; 


Для того, чтобы сообщение о принятии на модерацию либо об ошибке выдавалось без javascript, удалите код:
PHP код:
if (isset($_SESSION["send"]) and $_SESSION["send"]!="") {    //вывод сообщения
    
echo '<script type="text/javascript">alert("'.$_SESSION["send"].'");</script>';
    
$_SESSION["send"]="";


А в нужном месте (до или после формы добавления комментариев), добавьте PHP код:
PHP код:
if (isset($_SESSION["send"]) and $_SESSION["send"]!="") {
     echo 
$_SESSION["send"];
     
$_SESSION["send"]="";

02.01.2016 15:16:57
Найти все сообщения Цитировать это сообщение
Kiber Не на форуме
Рядовой
*

Сообщений: 3
У нас с: Jan 2016
Сообщение: #34
RE: Проблемы со скриптом добавления комментариев на сайт
Спасибо большое! Все сделал)
Еще вопрос такой.
У меня комментарий только на одной страницы. Т.е. там буду много комментариев, следовательно страница будет перезагружаться. Возможно как-то сделать так, чтобы на той странице были выведены последние к примеру 10-20 комментариев а остальные чтобы шли как в страницах.
К примеру так: mysite.com/comments?page=2
02.01.2016 17:53:46
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #35
RE: Проблемы со скриптом добавления комментариев на сайт
Конечно можно. Про оператор SQL LIMIT слышали?

Сначала помещаем значение GET переменной в переменную $page:
PHP код:
$page=$_GET["page"];
if (!
is_numeric($_GET["page"])) $page=1

Затем SQL запрос получения всех комментариев к теме:
PHP код:
$res=mysqli_query($db,"SELECT * FROM comment WHERE theme_id='".$theme_id."' and moderation=1 ORDER BY id DESC"); 
меняем на такой:
PHP код:
$res=mysqli_query($db,"SELECT * FROM comment WHERE theme_id='".$theme_id."' and moderation=1 ORDER BY id DESC LIMIT ".($page*20).",20"); 
02.01.2016 18:28:13
Найти все сообщения Цитировать это сообщение
Kiber Не на форуме
Рядовой
*

Сообщений: 3
У нас с: Jan 2016
Сообщение: #36
RE: Проблемы со скриптом добавления комментариев на сайт
Cделал так
PHP код:
<?php function parents($up=0$left=0) {    //Строим иерархическое дерево комментариев
global $tag,$mess_url;

for (
$i=0$i<=count($tag[$up])-1$i++) {
 
//Можно выделять цветом указанные логины
 
if ($tag[$up][$i][2]=='Kiberbro'$tag[$up][$i][2]='<font color="#C00">Продавец</font>';
 if (
$tag[$up][$i][6]==0$tag[$up][$i][6]=$tag[$up][$i][0];
 
//Высчитываем рейтинг комментария
 
$sum=$tag[$up][$i][4]-$tag[$up][$i][5];

 if (
$up==0) echo '<div style="padding:5px 0 0 0;">';
 else {
    if (
count($tag[$up])-1!=$i)
        echo 
' <div class="strelka" style="padding:5px 0 0 '.($left-2).'px;">';
    else echo 
'<div class="strelka_2" style="padding:5px 0 0 '.$left.'px;">';
 }
 echo 
'<div class="comm_head" id="m'.$tag[$up][$i][0].'">';
 echo 
'<div style="float:left;"><b>'.$tag[$up][$i][2].'</b></div>';
 echo 
'<div class="comm_minus"></div>';
 echo 
'<div style="float:right; width:30px;" id="rating_comm'.$tag[$up][$i][0].'">';
 echo 
'<b>'.$sum.'</b></div><div class="comm_plus"></div>';
 echo 
'<a style="float:right; width:70px;" href="'.$mess_url.'#m';
 echo 
$tag[$up][$i][0].'"># '.$tag[$up][$i][0].'</a>';
 echo 
'<div style="float:right; width:170px;">';
 echo 
'('.date("H:i:s d.m.Y"$tag[$up][$i][3]).' г.)</div>';
 echo 
'<div style="clear:both;"></div></div>';
 echo 
'<div class="comm_body">';
 if (
$sum<0) echo '<u class="sp_link">Показать/скрыть</u><div class="comm_text">';
 else echo 
'<div style="word-wrap:break-word;">';
 echo 
str_replace("<br />","<br>",nl2br($tag[$up][$i][1])).'</div>';
 echo 
'<div class="open_hint" onClick="comm_on('.$tag[$up][$i][0].',
     '
.$tag[$up][$i][6].')">Ответить</div><div style="clear:both;"></div></div>';

 if (isset(
$tag$tag[$up][$i][0] ])) parents($tag[$up][$i][0],20);
 echo 
'</div>';
}
}

    
$res=mysqli_query($db,"SELECT * FROM comment 
        WHERE theme_id='"
.$theme_id."' and moderation=1 ORDER BY id DESC LIMIT ".($page*10).",10");
$number=mysqli_num_rows($res);

if (
$number>0) {
 echo 
'<div style="border:1px solid #000000;padding:5px;text-align:center;">';
 while (
$com=mysqli_fetch_assoc($res))
    
$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"],
    
$com["login"], $com["date"], $com["plus"], $com["minus"], $com["first_parent"]);
 echo 
parents().'</div><br>';
}

?>

На странице всего 11 комментариев, но почему-то показывает только 9 и к тому страницы не повились.

Вот так хочу чтобы было
[Изображение: tid_328_Ec6A31492.jpg]
(Последний раз сообщение было отредактировано 02.01.2016 в 19:30:48, отредактировал пользователь Kiber.)
02.01.2016 19:10:47
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #37
RE: Проблемы со скриптом добавления комментариев на сайт
Тут не все так просто.
Я уже как-то разок помучался с древовидными комментариями и постраничным их выводом.

Мой Вам совет - либо отказаться от древовидных комментариев, либо от постраничного вывода.
02.01.2016 22:08:55
Найти все сообщения Цитировать это сообщение
Kiber Не на форуме
Рядовой
*

Сообщений: 3
У нас с: Jan 2016
Сообщение: #38
RE: Проблемы со скриптом добавления комментариев на сайт
(02.01.2016 22:08:55)Admin писал(а):  Тут не все так просто.
Я уже как-то разок помучался с древовидными комментариями и постраничным их выводом.

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

Печально. Ну ладно всё равно вам спасибо.
Вот бы еще увидеть у нас на сайте способы как пользователи могли сменить свой пароль и т.д.
02.01.2016 23:52:34
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #39
RE: Проблемы со скриптом добавления комментариев на сайт
Доброе время суток, в связи появлением сss3 многие моменты упростились относительно jquery и javascript, но в силу старых браузеров это не работает.

Суть такая. Хотел бы реализовать, чтобы сообщение "Комментарий принят к модерации" плавно бы исчезала в течении, например, 5 секунд с помощью javascript.
Можно, конечно прописать id и с помощью transition сделать данный момент, но как я написал выше, не будет работать в тех браузерах, которые не поддерживают свойство transition.

Т.е. после успешной отправки, появится сообщение "Комментарий принят к модерации" и плавно в течение 5~10 секунд должно сообщение исчезнуть.

Код:
if (isset($_SESSION["send"]) and $_SESSION["send"]!="") {  
echo '<div align="center"><b>'.$_SESSION["send"].'</b></div>';
    $_SESSION["send"]="";

Сейчас буду делать на css3, потом код предоставлю, но было бы здорово, если бы и с помощью javascript можно было бы реализовать данный момент.

Заранее благодарен Yes .
04.01.2016 14:37:28
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #40
RE: Проблемы со скриптом добавления комментариев на сайт
Элементарно! Bd
Добавляем блоку DIV какой-нибудь id, например id="send":
PHP код:
echo '<div id="send" align="center"><b>'.$_SESSION["send"].'</b></div>'

Далее, при условии что уже имеется библиотека jQuery, добавляем следующий JavaScript код:
Код:
$('#send').delay(5000).fadeOut(1000);

Всё! Ok
04.01.2016 15:26:57
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru