PHP не отправляет данные в базу данных xampp - PullRequest
0 голосов
/ 30 ноября 2018

Я следую серии учебных пособий ( Ссылка на видео ), в которых я учусь создавать раздел комментариев для веб-страницы.Я использую XAMPP, поскольку это то, что использует парень в видео.Я закончил писать код, который отправляет данные (имя, время, сообщение) в базу данных, и когда я пытаюсь это проверить, ничего не происходит.Я проверил базу данных и ничего нет

Это код:

index.php

<?php

date_default_timezone_set('Europe/London');
include 'dbh.inc.php';
include 'comments.inc.php';
?>


<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<?php
echo"<form method='POST' action='".setComments($conn)."'>
    <input type='hidden' name='uid' value='Anonymous'>
    <input type='hidden' name='date' value='".date('D-m-y H:i:s')."'>
    <textarea name='message'></textarea> <br>
    <button type='submit' name='commentSubmit'>Comment</button>
</form>";
?>

</body>
</html>

comments.inc.php

<?php

function setComments($conn) {
    if (isset($_POST['commentSubmit'])) {
        $uid = $_POST['uid'];
        $date = $_POST['date'];
        $message = $_POST['message'];

        $sql = "INSTERT INTO comments (uid, date, message) VALUES ('$uid', '$date', '$message')";
        $result = mysql_query(- $sql);
    }   
}

dbh.inc.php

<?php

$conn = mysqli_connect('localhost', 'root', '', 'commentsection');

if (!$conn) {
    die("Connection Faild: ".mysql_connect_error());
}

Пожалуйста, помогите мне.спасибо

1 Ответ

0 голосов
/ 30 ноября 2018

Изменить

<?php
echo"<form method='POST' action='".setComments($conn)."'>
    <input type='hidden' name='uid' value='Anonymous'>
    <input type='hidden' name='date' value='".date('D-m-y H:i:s')."'>
    <textarea name='message'></textarea> <br>
    <button type='submit' name='commentSubmit'>Comment</button>
</form>";
?>

На:

<?php
// action empty send the post data to the this fila again
// setComments function have a condition to work only when POST data is present
setComments($conn);
echo"<form method='POST' action=''>
    <input type='hidden' name='uid' value='Anonymous'>
    <input type='hidden' name='date' value='".date('D-m-y H:i:s')."'>
    <textarea name='message'></textarea> <br>
    <button type='submit' name='commentSubmit'>Comment</button>
</form>";
?>

И

Это:

    $sql = "INSTERT INTO comments (uid, date, message) VALUES ('$uid', '$date', '$message')";
    $result = mysql_query(- $sql);
}   

К:

    // INSERT is the correct sintaxis
    $sql = "INSERT INTO comments (uid, date, message) VALUES ('$uid', '$date', '$message')";
    $result = mysql_query($sql);
}   

Наконец

$conn = mysqli_connect('localhost', 'root', '', 'commentsection');

Кому:

// mysqli_connect have diferent parameters
$conn = mysql_connect('localhost', 'root', '', 'commentsection');

Проверено и работает

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