<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Book A Table</title>
</head>
<body>
<h1>Book A Table</h1>
<?php
// define variables and set to empty values
$nameErr = $emailErr = $numErr=$dateErr = $timeErr = $personsErr="";
$name = $email = $num= $date = $time = $persons = $comment= "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["num"])) {
$numErr = "Number is required";
} else {
$num = test_input($_POST["num"]);
if (!preg_match("([0-9])", $num)) {
$numErr = "Enter numbers only";
}
}
if (empty($_POST["date"])) {
$dateErr = "Date is required";
} else {
$date = test_input($_POST["date"]);
}
if (empty($_POST["time"])) {
$timeErr = "Time is required";
} else {
$time = test_input($_POST["time"]);
}
if (empty($_POST["persons"])) {
$personsErr = "Number of persons is required";
} else {
$persons = test_input($_POST["persons"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<form action="DBInput.php" method="POST" />
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Full Name<br> <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail<br> <input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Contact Number<br> <input type="text" name="num">
<span class="error">*<?php echo $numErr;?></span>
<br><br>
Reservation Date<br> <input type="date" name="date">
<span class="error">*<?php echo $dateErr;?></span>
<br><br>
Reservation Time<br>(Mon - Thur: 18:00 - 23:00 Fri - Sun: 12:00 - 00:00)<br> <input type="time" name="time">
<span class="error">*<?php echo $timeErr;?></span>
<br><br>
Number of Persons<br> <input type="text" name="persons">
<span class="error">*<?php echo $personsErr;?></span>
<br><br>
Comments<br><textarea name="comment" rows="5" cols="40"></textarea><br><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
Was ich in dem oben genannten Code mache, ist ein Formular erstellen und in eine Datenbank eingeben. Das funktioniert perfekt. Ich möchte jedoch eine Validierung hinzufügen, so dass, wenn der Benutzer nicht alle erforderlichen Felder eingibt, er nicht in der Datenbank gespeichert wird.PHP-Datenbank Validierung
Ich habe erst diese Woche PHP gestartet und bin damit ein Anfänger. Irgendeine Idee, wie man das macht?
Da Sie keine Rahmen verwenden und auch nicht objektorientierten Ansatz, was Sie getan haben, ist genug. Warum bist du nicht glücklich damit? –
es ist für ein Projekt – chris
Sie bitten uns, Ihnen einen "besseren" Weg zu geben, dies zu tun? Wenn das der Fall ist, wie würdest du "besser" definieren? Mehr wiederverwendbar? Schneller? Kommentare zu Best Practices?Ich bin nicht wirklich sicher, was deine Frage ist, was du funktionstüchtig siehst und was du tust, ist grundlegend genug, dass der Kontext ziemlich wichtig ist, um zu bestimmen, was ein besserer Ansatz sein könnte. Gibt es einen bestimmten Abschnitt Ihres Codes, mit dem Sie nicht zufrieden sind? – GentlemanMax