У меня есть HTML-форма, и я использую isset
, чтобы проверить, установлены ли переменные POST
, а затем обрабатываю их (отправляйте их по электронной почте или в электронную таблицу Google). Иногда Я получаю пустой результат (ы), как если бы переменная (ы) была/равна нулю или пуста, даже пустое пространство. Почему это происходит? Я что-то упускаю?
<?php if(isset($_POST["name"]) && isset($_POST["tel"])){
$name = $_POST["name"];
$phone = $_POST["phone"];
$message="Name: $name \nPhone : $phone \n";
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->setFrom('[email protected]', 'From Name');
$mail->addAddress('[email protected]', 'To Name');
$mail->Subject = 'Message Subject';
$mail->Body = $message; ?>
<form enctype="multipart/form-data" action="#" method="post">
<input id="name" type="text" name="name" title="Enter your name" placeholder="Name" required >
<input id="phone" type="phone" name="phone" pattern="0(6|5)([-. ]?[0-9]{2}){4}" title="Enter your phone" placeholder="Phone" required >
<button type="submit" id="submit" name="submit">Send</button>
</form>
P.S. Поля могут иногда иметь записи RTL Arabic. Я также использую проверку Javascript на стороне клиента, чтобы проверить, являются ли поля действительными и не пустыми. Я понимаю, что проверка на стороне клиента может быть затоплена, поскольку она является клиентской, и поскольку браузеры отличаются друг от друга, однако я не могу понять, как пустые записи все еще возвращаются true
от if(isset($_POST[])
! Это нормальное поведение isset($_POST[])
, когда поля input
пусты? Будет ли проверка, если !empty($_POST[])
будет правильным и уместным в моем случае? .