Создать ответ 
Проблемы со скриптом добавления комментариев на сайт
Автор Сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #21
RE: Проблемы со скриптом добавления комментариев на сайт
Изначально скрипт разрабатывался для сайтов на основе БД, потому и не предусматривает добавления адреса странички при добавлении комментариев.

Сделать конечно можно и совсем не накладно.

Добавьте в таблицу comment после theme_id новое поле URL с типом данных varchar(99). Где 99 - максимальная длина имени странички.

В SQL запросах:
PHP код:
$res=mysqli_query($db,"insert into comment (parent_id, first_parent, date, theme_id, login, message) values ('".$_POST["parent_id"]."','".$_POST["f_parent"]."','".$time."','".$theme_id."','".$mess_login."','".$user_text."')");
$res=mysqli_query($db,"insert into comment (date, theme_id, login, message) values ('".$time."','".$theme_id."','".$mess_login."','".$user_text."')"); 

Нужно добавить имя странички из переменной $mess_url:
PHP код:
$res=mysqli_query($db,"insert into comment (parent_id, first_parent, date, theme_id, URL, login, message) values ('".$_POST["parent_id"]."','".$_POST["f_parent"]."','".$time."','".$theme_id."','".$mess_url."','".$mess_login."','".$user_text."')");
$res=mysqli_query($db,"insert into comment (date, theme_id, URL, login, message) values ('".$time."','".$theme_id."','".$mess_url."','".$mess_login."','".$user_text."')"); 

Все. Теперь в БД пишется адрес странички, с которой был отправлен комментарий.
22.05.2015 22:26:09
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #22
RE: Проблемы со скриптом добавления комментариев на сайт
Ввиду большого размера комментария он был перенесен на форум.

(09.06.2015 17:47:54)Андрей писал(а):Сделал специально отдельную страничку в навигации --- comment.php
Создал файл rating_comm.php туда прописал как указано.
Мой сайт на рнр из отдельных страничек ,comment.php - последняя №6 значит
//получаем id текущей темы
$res=mysqli_query($db,"SELECT id FROM таблица WHERE file_name='".$mess_url."'");
$res=mysqli_fetch_array($res);
$theme_id=$res["id"];
Это нужно удалить и записать на этом месте $theme_id=6;
Прописал так вот $theme_id=6;
Таблицы в MySQL создались как на скриншоте.
Первый скрипт рнр прописал на страничке comment.php выше :
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
Прописал для соединения с базой:
$db=mysqli_connect("localhost","rrs0998716","12Artemka6780","rrs0998716_abrvalk") or die();[изменил логин и пароль и имя базы конечно]
но прописано так

А ВОТ И МОЯ БЕДА:
НА САЙТЕ НЕ ОТКРЫВАЕТСЯ СТРАНИЦА comment.php --- ПОКАЗЫВАЕТСЯ ТОЛЬКО TOP.INC.PHP---Т.Е. ОБЩАЯ ДЛЯ ВСЕХ ШАПКА А НАВИГАЦИИ НЕТ
СООТВЕТСТВЕННО НЕТ НИКАКИХ ФОРМ.
КОГДА ЗАКОММЕНТИРОВАЛ ПЕРВЫЙ СКРИПТ--- ФОРМА С СИНИМ БОРДЕРОМ ПОЯВИЛАСЬ

ПОМОГИТЕ РАЗОБРАТЬСЯ С БЕДОЙ!
10.06.2015 21:53:49
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #23
RE: Проблемы со скриптом добавления комментариев на сайт
Первым делом попробуйте скопировать код заново и не вносите в него от себя никаких изменений за исключением указания id и подключения к БД.

Возможно Ваш движок сайте "режет" код. Проверяйте предлагаемый нами скрипт на пустой страничке, чтобы кроме нашего кода больше ничего не было, а потом уже внедряйте на сайт. Из приведенного Вами описания пока ничем помочь не могу, т.к. даже не понятно в какую сторону смотреть.
10.06.2015 21:59:00
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #24
RE: Проблемы со скриптом добавления комментариев на сайт
Следующие три комментария были перенесены из основной темы ввиду их большого объема.

(19.06.2015 00:53:53)Андрей писал(а):Доброго времени суток.
Заполнил форму, отправляю.
Меня перекидывают на главную страницу, не открывается скрытая форма.
В скрипте изменений не делал.
//получаем id текущей темы
$res=mysqli_query($db,"SELECT id FROM таблица WHERE file_name='".$mess_url."'");
$res=mysqli_fetch_array($res);
$theme_id=$res["id"];
id никакое не указывал.
Сделал специально отдельную страничку на сайте и в навигации --- comment.php
Создал файл rating_comm.php туда прописал, как указано.
Мой сайт на рhр из отдельных страничек.
Ваши указания выполнил:
Проверяйте предлагаемый нами скрипт на пустой страничке, чтобы кроме нашего кода больше ничего не было.
По новой скопировал весь скрипт вставил на страницу comment.php эта страница никуда не инклюдина она имеет только php скрипт, таблицу стилей и JavaScript.
Таблицы в MySQL создались как на скриншоте.
Записи в таблицах не получаются.
Прописал для соединения с базой:
$db=mysqli_connect("localhost","rrs0998716_abrvalk","12Artemka6780","rrs0998716_abrvalk") or die(); [изменил логин и пароль и имя базы конечно]

(19.06.2015 17:05:54)Андрей писал(а):Доброго времени суток!
Вы пишите:
После того, как необходимые таблицы в MySQL были уже созданы, в начало Ваших страничек, на которых будет присутствовать форма добавления комментариев (выше тега <head>) поместите следующий PHP код, предназначенный для обработки отправленных сообщений:
.....идёт код 1
Допустим я хочу проверить на одной страничке эту форму.

Далее вы отвечаете на вопрос и пишите:
Вы все сделали правильно. У меня подключение таким образом работает отлично.
В первый файл (comment.php) необходимо поместить первый PHP код. Во второй файл (comment_db.php) - начиная с CSS (включительно) по второй JavaScript код (включительно).

Как же правильно записать?(на отдельной странице всё записать следуя вашим указаниям или создавать отдельные файлы?)

Cоздать отдельно файл comment.php ---В первый файл (comment.php) необходимо поместить первый PHP код
Создать второй файл comment_db.php --- туда прописать CSS стили и JavaScript код

А куда писать остальные коды --- ( добавить на свой сайт файл rating_comm.php с этим понятно)

... необходимо удалять старые оценки из таблицы ocenka_comment. Для этого используйте следующий PHP код, который удаляет все оценки старше 30 дней:
куда его вставить?

В том месте странички, где должны выводиться оставленные посетителями комментарии, добавляем следующий PHP код:--- это непосредственно на страницу

Теперь Вам необходимо добавить форму для того чтобы посетители сайта могли оставлять комментарии. Для этого Вам понадобится добавить на сайт следующий PHP код:--- это непосредственно на страницу

Всё прописал на одной странице --- ничего не получилось!

А как понять вот такое(вы такое не прописываете в коде ни где!)
[Это вопрос посетителя --- вы ему отвечаете что записал правильно]

......В начале страничек подключаю так:
<?php $theme_id=1; include $_SERVER['DOCUMENT_ROOT']."/php/comment.php"; ?>
Ошибок нет; (три строчки кода после "//получаем id текущей темы" удалил).

Там где, хочу вывести форму подключаю по аналогии:
<?php include $_SERVER['DOCUMENT_ROOT']."/php/comment_db.php"; ?>

(19.06.2015 17:05:54)Андрей писал(а):Если прописать весь скрипт на 2 файла: comment.php и comment_db.php, то их т.е. оба надо инклюдить на страницу(ы) где расположены формы ответов для посетителей(скрытые формы).
21.06.2015 20:50:16
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #25
RE: Проблемы со скриптом добавления комментариев на сайт
Что-то так много вопросов у Вас возникло, что не знаю, с чего начать...

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

Для проверки можете вместо кода:
PHP код:
//получаем id текущей темы
$res=mysqli_query($db,"SELECT id FROM таблица WHERE file_name='".$mess_url."'");
$res=mysqli_fetch_array($res);
$theme_id=$res["id"]; 

Использовать $theme_id=1;
Тогда комментарии начнут добавляться в БД.

В строчке:
PHP код:
$mess_url=mysqli_real_escape_string($db,basename($_SERVER['SCRIPT_FILENAME'])); 
В переменную $mess_url помещается URL адрес текущей странички.

По поводу на отдельной странице всё записать следуя вашим указаниям или создавать отдельные файлы? Это как Вам удобнее, т.к. изначально предлагается сделать все на одной страничке, но одному из пользователей захотелось вынести часть кода в отдельные файлы и подключить их через include. Ничего страшного в этом нет и работать будет и так, и так.

Код для удаления старых оценок помещаете в файл, который будет запускаться по CRON-у, либо в админку, где данный код будет выполняться по клику по кнопке. Добавлять данный код на все странички настоятельно не рекомендую, т.к. его достаточно выполнять 1 раз в день.

Пользователю ответил на вопрос про <?php $theme_id=1; include $_SERVER['DOCUMENT_ROOT']."/php/comment.php"; ?> применительно к его ситуации.

Цитата:Если прописать весь скрипт на 2 файла: comment.php и comment_db.php, то их т.е. оба надо инклюдить на страницу(ы)
Все зависит от того, что в этих файлах будет находиться, а так да, можно вынести все коды во внешние файлы и инклюдить их на нужную страницу.
21.06.2015 22:05:27
Найти все сообщения Цитировать это сообщение
Евгений Не на форуме
Рядовой
*

Сообщений: 2
У нас с: Apr 2015
Сообщение: #26
RE: Проблемы со скриптом добавления комментариев на сайт
Большое спасибо!
Еще надо изменить и здесь:
else $res=mysqli_query($db,"insert into comment (date, theme_id, URL, login, message)
values ('".$time."','".$theme_id."','".$mess_url."','".$mess_login."','".$user_text."')");
29.06.2015 13:40:18
Найти все сообщения Цитировать это сообщение
Nineor Не на форуме
Рядовой
*

Сообщений: 6
У нас с: Dec 2015
Сообщение: #27
RE: Проблемы со скриптом добавления комментариев на сайт
Здравствуйте. У меня возникли проблемы с вашим скриптом. У меня на сайте ссылка на страницу, где создана форма для добавления комментариев имеет вид:
PHP код:
$strLink "<a href = 'movie.php?id=".$row['id']."'>" $strName "</a>"

Значение id берется из базы данных при клике на соответствующее имя. По этой ссылки мы переходим на страницу с формой. Для того, чтобы у меня брались комментарии с нужным id я изменил следующую строку:
PHP код:
//получаем id текущей темы
$id=$_GET['id'];
$res=mysqli_query($db,"SELECT id FROM movies WHERE id=$id");
$res=mysqli_fetch_array($res);
$movies_id=$res["id"]; 

Проблема заключается в следующем - при отправке комментария он записывает в таблицу значение 0 у столбца, movies_id (переименованный theme_id), из-за этого он выводит комментарий во всех "темах". Также скрипт у меня не распознает комментарии и имена, написанные на русском и выводит сообщение "Не все поля заполнены".
26.12.2015 15:27:20
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #28
RE: Проблемы со скриптом добавления комментариев на сайт
По поводу записи в таблицу значения 0 у столбца, movies_id, могу предположить, что Вы либо забыли изменить название переменной, значение которой будет помещаться в столбец movies_id ($theme_id на $id) в коде:
PHP код:
if (is_numeric($_POST["parent_id"]) and is_numeric($_POST["f_parent"]))
    
$res=mysqli_query($db,"insert into comment
    (parent_id, first_parent, date, theme_id, login, message)
    values ('"
.$_POST["parent_id"]."','".$_POST["f_parent"]."',
    '"
.$time."','".$theme_id."','".$mess_login."','".$user_text."')");
   else 
$res=mysqli_query($db,"insert into comment (date, theme_id, login, message)
   values ('"
.$time."','".$theme_id."','".$mess_login."','".$user_text."')"); 

Либо значения полей формы отправляются без указания нужного id. Т.е. нужно примерно так:
PHP код:
echo "<form method='POST' action='movie.php?id=".$row['id']."' class='add_comment'"

По поводу русского языка - тут дело в кодировках. У нас, например, везде используется кодировка UTF-8.
В MySQLi выбрана кодировка UTF-8.
В .htaccess имеется запись AddDefaultCharset UTF-8.
Так же после подключения к MySQLi указываем кодировку: $res=mysqli_query($db,"set names utf8");
26.12.2015 18:25:28
Найти все сообщения Цитировать это сообщение
Nineor Не на форуме
Рядовой
*

Сообщений: 6
У нас с: Dec 2015
Сообщение: #29
RE: Проблемы со скриптом добавления комментариев на сайт
Причина точно не в том, что не изменено название переменной и даже не в том, что id берется не то: через echo проверял - id выводил правильный. Но даже исправив ссылку в форме, id в таблицу присылается нулевой. Думаю, что id отсылается после отправки комментария, когда мы переходим на другую страницу, на которой он не прописан в ссылке. На всякий случай привожу как выглядит весь мой код:

PHP код:
<!DOCTYPE html>
<
html>
<
script type="text/javascript"
src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<?php
$time
=time();
if (
session_id()==''session_start();

$db=mysqli_connect('...') or die();
$res=mysqli_query($db,"set names utf8");

$mess_url=mysqli_real_escape_string($dbbasename($_SERVER['SCRIPT_FILENAME']));

//получаем id текущей темы
$id=$_GET['id'];
$res=mysqli_query($db,"SELECT id FROM movies WHERE id=$id");
$res=mysqli_fetch_array($res);
$movies_id=$res["id"];

if (isset(
$_POST["contr_cod"])){    //отправлен комментарий
 
$mess_login=htmlspecialchars($_POST["mess_login"]);
 
$user_text=htmlspecialchars($_POST["user_text"]);
 if (
md5($_POST["contr_cod"])==$_POST["prov_summa"]){    //код правильный
  
if ($mess_login!='' and $user_text!=''){
   if (
is_numeric($_POST["parent_id"]) and is_numeric($_POST["f_parent"]))
    
$res=mysqli_query($db,"insert into comment
    (parent_id, first_parent, date, movies_id, login, message)
    values ('"
.$_POST["parent_id"]."','".$_POST["f_parent"]."',
    '"
.$time."','".$movies_id."','".$mess_login."','".$user_text."')");
   else 
$res=mysqli_query($db,"insert into comment (date, movies_id, login, message)
   values ('"
.$time."','".$movies_id."','".$mess_login."','".$user_text."')");
    
$_SESSION["send"]="Комментарий принят!";
    
header("Location: $mess_url#last"); exit;
  }
  else {
   
$_SESSION["send"]="Не все поля заполнены!";
   
header("Location: $mess_url#last"); exit;
  }
 }
 else {
  
$_SESSION["send"]="Неверный проверочный код!";
  
header("Location: $mess_url#last"); exit;
 }
}

if (isset(
$_SESSION["send"]) and $_SESSION["send"]!="") {    //вывод сообщения
    
echo '<script type="text/javascript">alert("'.$_SESSION["send"].'");</script>';
    
$_SESSION["send"]="";
}
?>
<head>
  <title>Hello!</title>
</head>
<style type="text/css">
    .add_comment {
        display: table;
        width: 580px;
        border: 1px solid #000;
        background-color: #6AF;
    }
    .close_hint, .open_hint {
        float: right;
        border: 1px solid #77A;
        background: #6e6;
        width: 100px;
        text-align: center;
        cursor: pointer;
    }
    .close_hint { margin: 5px; color: #F00; }
    .comm_body { padding: 0 5px; background-color:#EEE; text-align:left; }
    .comm_head { padding: 3px; border: 1px solid #77A; background-color: #DFD; }
    .comm_minus { background: url('image/minus.png') no-repeat; }
    .comm_plus { background: url('image/plus.png') no-repeat; }
    .comm_minus, .comm_plus {
        float: right;
        width: 19px;
        height: 18px;
        cursor: pointer;
    }
    .comm_text { display:none; }
    .sp_link { color: #F33; cursor: pointer; }
    .strelka {
        background: url(image/strelka.png) no-repeat;
        border-left: 2px solid #000;
    }
    .strelka_2 { background: url(image/strelka_2.png) no-repeat; }
    #hint { position: absolute; display: none; z-index: 100; }
</style>

<body>
<script type="text/javascript">
//Добавление в форму отправки комментария значений id родительских комментариев
function comm_on(p_id,first_p){
    document.add_comment.parent_id.value=p_id;
    document.add_comment.f_parent.value=first_p;
}

$(document).ready(function(){
//Показать скрытое под спойлером сообщение
$(".sp_link").click(function(){
    $(this).parent().children(".comm_text").toggle("normal");
});

//Показать форму ответа на имеющийся комментарий
$(".open_hint").click(function(){
    $("#hint").animate({
        top: $(this).offset().top + 25, left: $(document).width()/2 -
        $("#hint").width()/2
    }, 400).fadeIn(800);
});

//Скрыть форму ответа на имеющийся комментарий
$(".close_hint").click(function(){ $("#hint").fadeOut(1200); });

//Получение id оцененного комментария
$(".comm_plus,.comm_minus").click(function(){
    id_comm=$(this).parents(".comm_head").attr("id").substr(1);
});

//Отправление оценки комментария в файл rating_comm.php
$(".comm_plus").click(function(){
    jQuery.post("rating_comm.php",{comm_id:id_comm,ocenka:1},rating_comm);
});
$(".comm_minus").click(function(){
    jQuery.post("rating_comm.php",{comm_id:id_comm,ocenka:0},rating_comm);
});

//Возврат рейтинга комментария и его обновление
function rating_comm(data){
    $("#rating_comm"+id_comm).fadeOut(800,function(){
        $(this).html(data).fadeIn(800);
    });
}
});
</script>

    <dl>
    <?php
    
// Соединиться с сервером БД
    
$db mysqli_connect('***''***''***''***') or die (mysqli_error ());

    
// Получить данные из БД, в зависимости от значения id в URL
    
$rs mysqli_query($db"set names cp1251");
    
$rs mysqli_query($db"SELECT * FROM movies WHERE id=$id");
    
    
// Цикл по $rs
    
while($row mysqli_fetch_array($rs)) {

        
// Записать данные человека
        
echo "<dt>Название:</dt><dd>" $row['name'] . "</dd>";
        echo 
"<dt>Год:</dt><dd>" $row['year'] . "</dd>";
        echo 
"<dt>Оригинальное название:</dt><dd>" $row['eng_name'] . "</dd>";

    }
    
    
    
?>
    </dl>


<?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]=='Admin'$tag[$up][$i][2]='<font color="#C00">Admin</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 movies_id='"
.$movies_id."' ORDER BY id");
$number=mysqli_num_rows($res);

if (
$number>0) {
 echo 
'<div style="border:1px solid #000000;padding:5px;text-align:center;">';
 echo 
'<b>Последние комментарии:</b><br>';
 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>';
}

$cod=rand(100,900); $cod2=rand(1,99);
echo 
'<div id="last" align="center">';
echo 
"<form method='POST' action='movie.php?id=".$row['id']."' class='add_comment'"
echo 
'name="add_comment" id="hint"><div class="close_hint">Закрыть</div>';
echo 
'<textarea cols="68" rows="5" name="user_text"></textarea>';
echo 
'<div style="margin:5px; float:left;">';
echo 
'Имя: <input type="text" name="mess_login" maxlength="20" value=""></div>';

echo 
'<div style="margin:5px; float:right;">'.$cod.' + '.$cod2.' = ';
echo 
'<input type="hidden" name="prov_summa" value="'.md5($cod+$cod2).'">';
echo 
'<input type="hidden" name="parent_id" value="0">';
echo 
'<input type="hidden" name="f_parent" value="0">';
echo 
'<input type="text" name="contr_cod" maxlength="4" size="4">&nbsp;';
echo 
'<input type="submit" value="Отправить"></div>';
echo 
'</form>';

echo 
"<form method='POST' action='movie.php?id=".$row['id']."' class='add_comment'>"
echo 
'Написать комментарий:';
echo 
'<textarea cols="68" rows="5" name="user_text"></textarea>';
echo 
'<div style="margin:5px; float:left;">';
echo 
'Имя: <input type="text" name="mess_login" maxlength="20" value=""></div>';
echo 
'<div style="margin:5px; float:right;">'.$cod.' + '.$cod2.' = ';
echo 
'<input type="hidden" name="prov_summa" value="'.md5($cod+$cod2).'">';
echo 
'<input type="text" name="contr_cod" maxlength="4" size="4">&nbsp;';
echo 
'<input type="submit" value="Отправить"></div>';
echo 
'</form></div>';
?>
<p><a href="list.php">Вернутся к списку</a></p>
</body>
</html> 
27.12.2015 16:18:27
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #30
RE: Проблемы со скриптом добавления комментариев на сайт
1) Не совсем понятно, что Вы получаете вот этим кодом:
PHP код:
//получаем id текущей темы
$id=$_GET['id'];
$res=mysqli_query($db,"SELECT id FROM movies WHERE id=$id");
$res=mysqli_fetch_array($res);
$movies_id=$res["id"]; 

Если Вы передаете id темы методом GET, то лучше, наверно, сделать так:
PHP код:
$id=$_GET['id'];
$movies_id=$id


2) В середине кода Вы зачем-то повторно создаете соединение с БД и меняете кодировку:
PHP код:
// Соединиться с сервером БД
    
$db mysqli_connect('***''***''***''***') or die (mysqli_error ());

    
// Получить данные из БД, в зависимости от значения id в URL
    
$rs mysqli_query($db"set names cp1251");
    
$rs mysqli_query($db"SELECT * FROM movies WHERE id=$id"); 

3) Теперь, увидев Ваш код целиком, могу сказать, что проблема в форме отправки комментариев. Правильно так:
PHP код:
echo "<form method='POST' action='movie.php?id=".$movies_id."' class='add_comment'"
27.12.2015 17:20:50
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


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


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru