Я новичок в php, и я хотел реализовать некоторую проверку формы php на веб-сайте, над которым я работал. Раньше я использовал javascript для проверки содержимого формы, но я слышал, что php - лучший способ сделать это.Проверка формы PHP и сообщение об ошибках
Я попытался внедрить некоторые php на свой сайт, чтобы поля были проверены, однако я думаю, что я должен делать что-то неправильно, поскольку в настоящее время ничего не функционирует так, как должно.
Вот PHP код я работаю с:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Missing";
}
else {
$name = $_POST["name"];
}
if (empty($_POST["tele"])) {
$teleErr = "Missing";
}
else {
$tele = $_POST["tele"];
}
if (empty($_POST["email"])) {
$emailErr = "Missing";
}
else {
$email = $_POST["email"];
}
if (empty($_POST["party"])) {
$partyErr = "You must select 1";
}
else {
$party = $_POST["party"];
}
if (!isset($_POST["hand"])) {
$handErr = "You must select 1 option";
}
else {
$hand = $_POST["hand"];
}
if (empty($_POST["reservation"])) {
$reservationErr = "Missing";
}
else {
$reservation = $_POST["reservation"];
}
if (empty($_POST["time"])) {
$timeErr = "You must select a time";
}
else {
$time = $_POST["time"];
}
}
?>
Вот HTML-формы Я работаю с:
<form method= "POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<p class="ex"><strong>Full Name:</strong>
<br>
<input type="text" name="name" value="<?php echo htmlspecialchars($name);?>">
<span class="error"><?php echo $nameErr;?></span>
<br><br>
<strong>Contact Telephone:</strong>
<br>
<input type="text" name="tele" placeholder="Telephone Number" id="tele""/>
<br><br>
<strong>Contact Email:</strong>
<br>
<input type="text" name="email" placeholder="[email protected]" id="email""/>
<!-- Party requirments -->
<br><br>
<strong>Select Party Size:</strong>
<br>
<select name="party" id="party">
<option value="">Please Select</option>
<option value="5">1 Person (£5)</option>
<option value="10">2 People (£10)</option>
<option value="15">3 People (£15)</option>
<option value="20">4 People (£20)</option>
<option value="25">5 People (£25)</option>
<option value="30">6 People (£30)</option>
<option value="35">7 People (£35)</option>
<option value="40">8 People (£40)</option>
<option value="45">9 People (£45)</option>
<option value="50">10+ People (£50)</option>
</select>
<br><br>
<strong>Dietary Requirements:</strong>
<br>
Vegetarian <input type="checkbox" name="diet[]" value="Vegetarian">
Vegan <input type="checkbox" name="diet[]" value="Vegan">
Peanut Allergy <input type="checkbox" name="diet[]" value="Peanut Allergy">
Gluten Allergy <input type="checkbox" name="diet[]" value="Gluten Allergy">
<br><br>
<strong> VIP Area? </strong>
<br>
Yes (+£5) <input name="hand" id="left" value="5" type="radio">
No <input name="hand" id="right" value="0" checked="" type="radio">
<br><br>
<strong> Reservation Date: </strong>
<br>
<input type="text" name="reservation" placeholder="DD/MM/YYYY" id="reservation">
<br><br>
<strong> Reservation Time </strong>
<br>
<select name="time" id="time" onblur="validateTime(name)">
<option value="">Please Select</option>
<option value="17:00">17:00</option>
<option value="17:30">17:30</option>
<option value="18:00">18:00</option>
<option value="18:30">18:30</option>
<option value="19:00">19:00</option>
<option value="19:30">19:30</option>
<option value="20:00">20:00</option>
<option value="20:30">20:30</option>
<option value="21:00">21:00</option>
<option value="21:30">21:30</option>
<option value="22:00">22:00</option>
</select>
<span id="timeError" class="timeError" style="display: none;">You must select a time for your reservation.</span>
<br><br>
<strong> Any Additional Information: </strong>
<br>
<textarea name="comments" placeholder="Birthday celebration arrangements, etc." rows="10" cols="50"></textarea>
<br><br><br>
<strong> Total booking cost based on party size & VIP selection: £<span id="price">0</span></strong>
<br><br><br>
<input type="submit" id="submit" name="submit" value="Submit">
<input type="reset" value="Reset form">
В идеале я хотел бы эту форму, чтобы подтвердить, что пользователь ввел и отобразил сообщение об ошибке, если они ввели неверную информацию в поле или оставили поле пустым. Любой, кто имеет какие-либо предложения, которые помогут мне достичь этого, пожалуйста, помогите мне, я много работал над этой задачей, но havent повезло :(
Спасибо за ваш ответ, в основном, когда я пытаюсь открыть веб-страницу и нажимаю кнопку «Отправить», я попадаю на пустую страницу вместо ошибок для пустых полей. Кроме того, вместо пустого поля для поля имени он имеет « Php echo htmlspecialchars ($ name);?>», Напечатанный на нем, как только я открою веб-страницу :( – 05K3
Возможно, у вас пустая страница, так как отчет об ошибках отключен Проверьте свои журналы apache или error.log, чтобы узнать, что не так, а затем вернитесь к нам с возникшими ошибками. – LukasS