Ich habe ein HTML-Formular und ich isset
verwenden, um zu überprüfen, ob POST
Variablen festgelegt sind, dann verarbeite ich sie (per E-Mail oder an eine Google-Tabelle). Manchmal Ich erhalte leere Ergebnisse, wie wenn die Variable (n) null oder leer ist, nicht einmal ein leeres Leerzeichen. Warum passiert dies? Fehle ich etwas?
<?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. Die Felder können manchmal arabische RTL-Einträge enthalten. Ich verwende auch clientseitige Javascript-Validierung, um zu überprüfen, ob die Felder gültig und nicht leer sind. Ich verstehe, dass clientseitige Validierung kann überflutet werden, da es Client-Seite ist und da Browser voneinander unterscheiden, jedoch kann ich nicht herausfinden, wie leere Einträge noch true
von if(isset($_POST[])
zurückgeben! Ist das ein normales Verhalten von isset($_POST[])
, wenn die Felder input
leer sind? Wird überprüft, ob !empty($_POST[])
in meinem Fall korrekt und relevant ist? .