Я пытаюсь установить sh систему проверки для формы, тогда как один из элементов input
называется verification
. Форма должна быть отправлена (как электронное письмо кому-то еще), если значение verification
равно 108 - что работает. Однако, когда я запускаю свой код, я обнаруживаю, что код внутри оператора else
(встроенного оператора if) также выполняется, и я получаю всплывающее окно, которое спрашивает меня, что такое 3+105
. Почему это?
HTML
<form class="pb-5" action="" method="POST">
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputName4">Name</label>
<input
type="text"
class="form-control"
id="inputName"
name="name"
value="<?php echo isset($_POST['name']) ? htmlspecialchars($_POST['name'], ENT_QUOTES) : ''; ?>"
required
/>
</div>
<div class="form-group col-md-6">
<label for="inputCompany">Company</label>
<input
type="text"
class="form-control"
id="inputCompany"
name="company"
value="<?php echo isset($_POST['company']) ? htmlspecialchars($_POST['company'], ENT_QUOTES) : ''; ?>"
required
/>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="subject">Subject</label>
<input
type="text"
class="form-control"
id="subject"
name="subject"
value="<?php echo isset($_POST['subject']) ? htmlspecialchars($_POST['subject'], ENT_QUOTES) : ''; ?>"
required
/>
</div>
<div class="form-group col-md-6">
<label for="inputEmail">Email</label>
<input
type="email"
class="form-control"
id="inputEmail"
name="email"
value="<?php echo isset($_POST['email']) ? htmlspecialchars($_POST['email'], ENT_QUOTES) : ''; ?>"
required
/>
</div>
</div>
<div class="form-group">
<label for="verification">What is 5+103?</label>
<input
type="text"
class="form-control"
id="verification"
name="verification"
required
></input>
</div>
<div class="form-group">
<label for="textarea">Message</label>
<textarea
class="form-control"
id="textarea"
rows="3"
name="message"
required
><?php echo isset($_POST['message']) ? htmlspecialchars($_POST['message'], ENT_QUOTES) : ''; ?>"</textarea>
</div>
<button type="submit" class="btn btn-primary my-3">
Send
</button>
</form>
PHP
$verification = $_POST["verification"];
settype($verification, "integer");
if($_SERVER["REQUEST_METHOD"] == "POST") {
if($verification == 108) {
mail($to, $subject, $message, $headers);
echo "<script> alert('Thank you for your mail!')</script>";
} elseif ($_SERVER["REQUEST_METHOD"] == "POST" && mail($to, $subject, $message, $headers) === false) {
echo "<script> alert('An error has occurred.')</script>";
} else {
echo "<script> alert('What is 3+105?')</script>";
}
} else {
return;
}
Если я могу прояснить свой вопрос в любом Кстати, не стесняйтесь, дайте мне знать! Заранее спасибо!