Así que hago clic en enviar en mi formulario, sin embargo, cuando lo envío no sucede nada y mi formulario no envía mis datos ni los almacena en la base de datos. Consulte el código a continuación. Sé que el código es todo en uno y lo dividiré todo después.
if($_SERVER["REQUEST_METHOD"] == "POST") {
$sql = "INSERT INTO reviews (name, content)
VALUES('" . $_POST['name'] . "',
'" . $_POST['content'] . "')";
$results = mysqli_query($conn, $sql);
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
$sql = "SELECT * FROM reviews";
$results = mysqli_query($conn, $sql);
if ($results === false) {
echo mysqli_error($conn);
}else {
$reviews = mysqli_fetch_all($results, MYSQLI_ASSOC);
}
?>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h2>Leave a review</h2>
<form>
Name: <input type="text" name="name">
<br>
Comment: <textarea name="comment" rows="5" cols="40"> </textarea>
<br>
<button>Add Review</button>
<h2>Review</h2>
<?php
?>
Peligro: eres vulnerable a ataques de inyección SQL de los que necesitas defenderte.
- Quentin
19/03/2021 a las 15:50
1
La depuración es una habilidad invaluable en el mundo de la programación. Tómese un tiempo para aprender a realizar algunas depuraciones básicas. Una vez que te sientas cómodo con los conceptos básicos, puedes echar un vistazo a un tutorial más extenso.
- El_Vanja
19/03/2021 a las 15:53
------------------------------------
Los elementos del formulario por defecto son método="GET".
Para realizar una solicitud POST e incluir los datos del formulario en el cuerpo de la solicitud donde se completará $_POST en PHP, debe establecer explícitamente el atributo del método en POST.