Stop-leere Werte aus input-Boxen eingefügt, die in meiner Datenbank? PHP

Dies ist die html-Formular - (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>

Dies ist das php-Skript verarbeitet die Registrierung (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);

?>

Hier ist das problem:

Möchte ich übermitteln Sie die eingegebenen Werte in meiner Datenbank, wenn alle input-Felder haben einen Wert, aber wenn ich die die-Funktion nach der überprüfung, um zu sehen, wenn Sie leer sind, dann tötet er die Schrift. Ich will einfach nur, um zu töten, die Teil waren es fügt es in meine Datenbank, wenn ein oder mehrere Felder leer sind & display eine Fehlermeldung, die sagt, das Feld war leer. Ich bin mir nicht sicher, wie man das umgehen kann und jede Hilfe wird sehr geschätzt.

  • finden Sie diese url ein: w3schools.in/php-tutorial/form-validation
  • 1. Speichern Sie alle Fehler in einem array. wenn das array leer ist insert in die Datenbank ein, sonst drucken Sie das array-Inhalte.
  • Sie bekommen wahrscheinlich ein paar Kommentare, die sagen, Sie watch out für SQL-injection und security. Das ist ein Problem, sollten Sie auch suchen. Ein weiterer ist, ob es vielleicht eine bessere Idee, um die form-Felder rechts, wo Sie entstanden, also durch etwas JavaScript/jQuery-validator in dem browser Ihres Kunden. Auf diese Weise können Sie geben dem Benutzer eine schnellere Reaktion im Falle eines Fehler (oder fehlende Werte), und Sie halten, unnötigen Verkehr von Ihrem server.
InformationsquelleAutor Devin Smith | 2013-08-07
Schreibe einen Kommentar