if($action == "send"){
$_POST['name'] = $name ;
$_POST['email'] = $email ;
$_POST['phone'] = $phone ;
if(!empty($name) || !empty($email) || !empty($phone)){
.....
} else {
$msg = 'All fields required';
}
//无论我做什么,都只显示$msg。
//也试过了
if(!empty($_POST['name']) || !empty($_POST['email']) || !empty($_POST['phone'])){
....
}
我想做的是一个通过电子邮件向我发送数据的表格,我希望所有字段都能填写,所以也许我写if语句的方式不对。如果我之前没有好好解释的话,我很抱歉。
您的代码为:
如果姓名不为空,或电子邮件不为空或电话不为空
这意味着,只要中至少有一个是非空的,那么你就很好!
很肯定你不是这个意思。您想要:
如果姓名不为空,AND电子邮件不为空;AND电话不为空
使用&&
而不是||
,它应该可以正常工作!
我想你被这里涉及的所有负面因素弄糊涂了。我怀疑你想要的是:
if (!(empty($name) || empty($email) || empty($phone))) {
...
} else {
$msg = 'All fields required';
}
(在我看来(最好写为:
if (empty($name) || empty($email) || empty($phone)) {
$msg = 'All fields required';
} else {
...
}
if($name=='' || $email=='' || $phone=='')
{
$msg='All fields required';
}
else
{
..............
}