Мой код не может отправить данные в базу данных MySQL, но не выдает ошибок - PullRequest
0 голосов
/ 06 января 2019

У меня было много проблем с этой страницей, которую я пытаюсь создать. Я прочитал много постов, но это все еще не было ответа, в котором я нуждался. Буду благодарен, если кто-нибудь сможет мне помочь. Данные этой формы не отправляются в базу данных, но не выдают никаких ошибок.

Предыдущие версии моего кода получали ошибки доступа. Тогда я это исправил, и теперь он не выдает ошибок.
Но это все равно не отправляет данные. Я вставлю свой код сюда.
Заранее спасибо.

<form method="POST" action="#">
    Nome:
    <input type="CHAR" name="nome">
    <br><br>E-Mail:
    <input type="text" name= "email">
    <br><br>Mensagem:<br>
    <textarea name="comentario"></textarea>
    <br><br>
    <input type="submit" value="Enviar">
    <input type="reset" value="Limpar">
</form>
<hr>

<?php
$date = date_default_timezone_set('America/Sao_Paulo');
$con=mysqli_connect("localhost","root","","bdcomentarios");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
        {
$insert = mysqli_query($con,"INSERT INTO tbcomentarios('nome')");
        }
{
$insert = mysqli_query($con,"INSERT INTO tbcomentarios('email')");
    }
    {
$insert = mysqli_query($con,"INSERT INTO tbcomentarios('comentario')");
    }
    {
$insert = mysqli_query($con,"INSERT INTO             
tbcomentarios('date_default_timezone_get('Y/m/d')'");
    }
$sql = "SELECT * FROM tbcomentarios ORDER BY id desc";
$executar=mysqli_query($con, $sql);
while( $exibir = mysqli_fetch_array($executar)){
    echo $exibir['data'];
    echo "</br>";
    echo $exibir['nome'];
    echo "</br>";
    echo $exibir['email'];
    echo "</br>";
    echo $exibir['comentario'];
    echo "</br><hr>";
}
?>

1 Ответ

0 голосов
/ 06 января 2019

Вы должны взять переменные, переданные методом post, прежде чем вводить их в базу данных. Попробуйте следующее:

1) Это позволяет PHP форме отправлять себя.

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
Nome:
<input type="CHAR" name="nome">
<br><br>E-Mail:
<input type="text" name= "email">
<br><br>Mensagem:<br>
<textarea name="comentario"></textarea>
<br><br>
<input type="submit" value="Enviar">
<input type="reset" value="Limpar">
</form>

Эта часть хранит переменные и вставляет их в БД (при условии, что у вас есть столбцы data, nome, email, comentario внутри таблицы tbcomentarios)

<?php
$nome = "";
$email = "";
$comentario = "";

//keep the variables
if(isset($_POST["nome"]))
     $nome = $_POST["nome"];
if(isset($_POST["email"]))
     $email = $_POST["email"];
if(isset($_POST["comentario"]))
     $comentario = $_POST["comentario"];

//current date
$data = date("Y/m/d");

$con=mysqli_connect("localhost","root","","bdcomentarios");
// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$sql_insert="INSERT INTO tbcomentarios (data, nome, email, comentario) 
VALUES('$data', '$nome', '$email', '$comentario')";

//check the insert into DB
if (mysqli_query($con,$sql_insert)) {
     echo "New record created successfully";
} else {
     echo "Error: " . $sql . "<br>" . mysqli_error($con);
}


$sql = "SELECT * FROM tbcomentarios ORDER BY id desc";
$executar=mysqli_query($con, $sql);
while( $exibir = mysqli_fetch_array($executar)){
    echo $exibir['data'];
    echo "</br>";
    echo $exibir['nome'];
    echo "</br>";
    echo $exibir['email'];
    echo "</br>";
    echo $exibir['comentario'];
    echo "</br><hr>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...