За последние 24 часа нас посетили 17433 программиста и 1724 робота. Сейчас ищут 1685 программистов ...

создание комментарий на сайт.HELP

Тема в разделе "PHP и базы данных", создана пользователем chakidze, 11 май 2018.

Метки:
  1. chakidze

    chakidze Новичок

    С нами с:
    1 май 2018
    Сообщения:
    16
    Симпатии:
    0
    Всем привет! У меня мало времени, и я решил не возится и взять готовый код для комментариев на сайт. Сам раньше никогда не делал комменты.
    Суть в том, что при отправки комментария не выводится сообщение. Я подумал что проблема с выводам инфы, но вроде всё нормально.
    Вообщем вот код:
    страница myprofil.php
    PHP:
    1. <html>
    2. <head>
    3. <meta charset='utf-8'> </meta>
    4. </head>
    5. <body>
    6. <form name="comment" action="comments.php" method="post">
    7.   <p>
    8.     <label>Ваше имя:</label>
    9.     <input type="text" name="username" />
    10.   </p>
    11.   <p>
    12.     <label>Ваш комментарий:</label>
    13.     <br />
    14.     <textarea name="text_comment" cols="30" rows="50"></textarea>
    15.   </p>
    16.   <p>
    17.     <input type="hidden" name="page_id" value="150" />
    18.     <input type="submit" value="Отправить комментарий" />
    19.   </p>
    20. </form>
    21. </body>
    22. </html>
    23. <?php
    24. //проверка на подлкючение к бд
    25.  $db= mysqli_connect ('localhost','root','','base') or die ('соединение не установлено');
    26.   $page_id = 150;// Уникальный идентификатор страницы (статьи или поста)
    27.   $mysqli = new mysqli("localhost", "root", "", "base");// Подключается к базе данных
    28.   $result_set = $mysqli->query("SELECT * FROM `signup` WHERE `page_id`='$page_id'"); //Вытаскиваем все комментарии для данной страницы
    29.   while ($row = $result_set->fetch_assoc()) {
    30.     print_r($row); //Вывод комментариев
    31.     echo "<br />";
    32.   }
    33. ?>
    Страница comments.php
    PHP:
    1. <?php
    2.   /* Принимаем данные из формы */
    3.   if (isset($_POST['submit']));
    4.   $name = $_POST["username"];
    5.   $page_id = $_POST["page_id"];
    6.   $text_comment = $_POST["text_comment"];
    7.   $name = htmlspecialchars($name);// Преобразуем спецсимволы в HTML-сущности
    8.   $text_comment = htmlspecialchars($text_comment);// Преобразуем спецсимволы в HTML-сущности
    9.   $mysqli = new mysqli("localhost", "root", "", "base");// Подключается к базе данных
    10.   $mysqli->query("INSERT INTO `signup` (`username`, `page_id`, `text_comment`) VALUES ('$name', '$page_id', '$text_comment')");// Добавляем комментарий в таблицу
    11. ?>
     
  2. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    Какое сообщение должно вывестись?
     
  3. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    прикольно
     
  4. chakidze

    chakidze Новичок

    С нами с:
    1 май 2018
    Сообщения:
    16
    Симпатии:
    0
    то что написал пользователь
    --- Добавлено ---
    or die ('соединение не установлено'); это имелось в виду.
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.839
    Симпатии:
    651
    @chakidze, значение page_id нужно тщательно проверять. И htmlspecialchars по дефолту пропускает апострофы. Делайте экранирование (можно после кодирования) добавляемых в запрос данных. Короче скрипт хреновый. Такая экономия времени вам обязательно боком выйдет.