2017-11-10 2 views
0

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; 
 
} 
 
?>

+0

Versuchen Sie es mit erforderlich Attribut im Frontend, es wird Fehler automatisch – Satya

+0

zb: leer ($ _ POST ['title']) // gibt true, wenn kein Inhalt – Mark

+0

Verwenden Sie 'emtpy' auf alle Felder, die erwartet werden ... konsultieren Sie Handbuch obwohl wenn '0 'oder andere spezifische Werte werden erwartet .. – chris85

Antwort

1

von Frontseite Sie required Attribut zu jedem Eingang hinzufügen. So fügen Sie es in jedem Eingabefeld wie: <input type="text" name="title" required/>

Von Back-End-Seite (PHP) Wenn Sie alle Wert wollen, dann && ändern werden müssen, füllen sich mit || in Ihrem Zustand

// Checks for empty fields 
if (empty($value) || empty($value2) || empty($value3) || empty($value4) || empty($value5)) { 
    echo 'Please correct the fields'; 
    return false; 
} 
0
if (empty($value) && empty($value2) && empty($value3) && empty($value4) && empty($value5)) { 
    echo 'Please correct the fields'; 
    return false; 
} 

Dies sollte 'oder'

Verwandte Themen