Meine Frage ist, wie bekomme ich das Formular, um einen Fehler anzuzeigen, wenn der Benutzer ein Feld in das Formular eingibt. Ich kann es zur Arbeit bringen, wenn sie das Formular überhaupt nicht ausfüllen und nur Enter drücken, aber es kann nicht funktionieren, wenn sie nur ein paar Felder ausfüllen. Sie können das Titelfeld und das Laufzeitfeld ausfüllen und können es übermitteln. Wie kann ich sicherstellen, dass jedes Feld ausgefüllt ist?PHP-Formular in die Datenbank einfügen, nach nichts suchen eingegeben
<?php
$databaseName = 'movie_database';
$databaseUser = 'root';
$databasePassword = 'root';
$databaseHost = '127.0.0.1';
$conn = new mysqli($databaseHost, $databaseUser, $databasePassword, $databaseName);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
if(isset($_POST['submit'])) {
$value = mysqli_real_escape_string($conn,$_POST['title']);
$value2 = mysqli_real_escape_string($conn,$_POST['rating']);
$value3 = mysqli_real_escape_string($conn,(int)$_POST['Runtime']);
$value4 = mysqli_real_escape_string($conn,(float)$_POST['movie_rating']);
$value5 = mysqli_real_escape_string($conn,$_POST['release_date']);
// Checks for empty fields
if (empty($value) && empty($value2) && empty($value3) && empty($value4) && empty($value5)) {
echo 'Please correct the fields';
return false;
}
// Concatenate the $values into the string
$sql = "INSERT INTO movies(title,rating,Runtime,movie_rating,release_date)
\t VALUES('$value','$value2','$value3','$value4','$value5')";
if ($conn->query($sql)) {
$msg = "New record created successfully";
} else {
$msg = "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
<form method="post"/>
<p>Enter Movie Title: <input type="text" name="title"/></p>
<p>Enter Movie Rating(G,PG,PG-13,R): <input type="text" name="rating"/></p>
<p>Enter Movie Runtime in minutes: <input type="text" name="Runtime"/></p>
<p>Enter IMDB Movie Rating(0-10.0): <input type="text" name="movie_rating"/></p>
<p>Enter Movie Release date(YYYY-MM-DD): <input type="text" name="release_date"/></p>
<button type="submit" name="submit">Submit</button
</form>
<?php
if (isset($msg)) {
\t echo $msg;
}
?>
Versuchen Sie es mit erforderlich Attribut im Frontend, es wird Fehler automatisch – Satya
zb: leer ($ _ POST ['title']) // gibt true, wenn kein Inhalt – Mark
Verwenden Sie 'emtpy' auf alle Felder, die erwartet werden ... konsultieren Sie Handbuch obwohl wenn '0 'oder andere spezifische Werte werden erwartet .. – chris85