Arrêt des valeurs vides de boîtes de saisie d'être inséré dans ma base de données? PHP

C'est le formulaire html (register.php):

<html>
<body>

<form action="handle_registration.php" method="post">

<fieldset><legend>Enter your
information in the form below:</legend>

First Name: <input type="text" name="fname" size="20" maxlength="40"><br>
Last Name: <input type="text" name="lname" size="20" maxlength="40"><br>
Username: <input type="text" name="uname" size="20" maxlength="40"><br>
Password: <input type="text" name="pword" size="20" maxlength="40"><br>
<input type="submit" name="submit" value="submit my info">

</form>

</body>
</html>

C'est le script php qui gère l'enregistrement (handle_registration.php):

<?php

//Create a shorthand for the form data:

$fname = $_POST['fname'];
$lname = $_POST['lname'];
$uname = $_POST['uname'];
$pword = $_POST['pword'];

//Create the connection variables:

$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "registration_info";
$con = mysqli_connect("$db_host", "$db_user", "$db_pass", "$db_name");

//Check the connection:

if (mysqli_connect_errno ())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

//Make sure all of the input boxes have a value:

if (empty($fname)) {
die('You forgot to enter your first name!');
}

if (empty($lname)) {
die('You forgot to enter your last name!');
}

if (empty($uname)) {
die('You forgot to choose a username!');
}

if (empty($pword)) {
die('You forgot to choose a password!');
}

//Insert the data from the form into the DB:

$sql = "INSERT INTO basic_information (First_Name, Last_Name, Username, Password)
VALUES
('$_POST[fname]', '$_POST[lname]', '$_POST[uname]', '$_POST[pword]')";

//Enter the info the end user type if everything is ok:

if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
else
{
echo "Record has been added";
}

//Close the connection:

mysqli_close($con);

?>

Voici le problème:

Je veux envoyer les valeurs entrées dans ma base de données si tous les champs de saisie ont une valeur, mais lorsque j'utilise la fonction de matrice après la vérification pour voir si ils sont vides, alors il tue le script. Je veux juste tuer la partie avait été, il l'insère dans ma base de données si un ou plusieurs champs sont vides & afficher un message d'erreur qui indique le champ était vide. Je ne suis pas sûr de la façon de contourner ce problème et de toute aide sera grandement appréciée.

  • reportez-vous sur cette url: w3schools.dans/php-tutoriel/form-validation
  • 1. Stocker toutes les erreurs dans un tableau. si le tableau est vide insérer dans la base de données d'autre d'imprimer le contenu du tableau.
  • Vous obtiendrez probablement un peu de commentaires, de vous dire de regarder dehors pour d'injection de code SQL et de la sécurité. C'est une question que vous devriez aussi regarder. Une autre est de savoir si il pourrait être une meilleure idée de vérifier les champs du formulaire à droite, où ils provenaient d', c'est à dire par un peu de JavaScript/jQuery validateur dans votre navigateur du client. De cette façon, vous pouvez donner à l'utilisateur une réponse plus rapide en cas d'erreur (ou de valeurs manquantes) et vous garder inutile de trafic à partir de votre serveur.
InformationsquelleAutor Devin Smith | 2013-08-07