【发布时间】:2019-03-09 09:31:14
【问题描述】:
我一直在颠倒这个 php 表单,但我不知道为什么没有显示错误消息,即使所有字段都是空的,表单也会始终发送电子邮件。有我的代码:
<form name="contactform" method="post" action="">
<input type="text" data-placeholder="<?php echo $name; ?>"name="name">
<input type="text" data-placeholder="<?php echo $email; ?>"name="email">
<textarea data-placeholder="<?php echo $message; ?>" name="message" rows="10"></textarea>
<input type="submit" name="submit" class="btn btn-footer" value="ENVOYER" id="btnContact">
<p class="text desktop"><?php echo $emailErr; ?></p>
</form>
<?php
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$emailErr = "";
if (!isset($name) || $email=="" || $message=="" ) {
$emailErr = "All fields are mendatory";
} else {
$mailTo = "test@gmail.com";
mail($mailTo);
$emailErr = "Email Send";
}
}
?>
【问题讨论】:
-
不要使用
isset()查看变量是否为空。像其他人一样使用$name == ""。 -
使用 !empty 代替它会完美工作
-
@sradha 但是如果他们的名字是
0呢? -
@FrankerZ 是的,如果我们输入 0 它将不起作用,我编辑了我的代码。谢谢你的建议。