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语句。 对不起,如果我之前没有解释清楚。
答案 0 :(得分:1)
您的代码为:
如果名称不为空,或者电子邮件不为空,或者电话不为空
这意味着只要中至少有一个非空,那么你就是好人!
很确定这不是你的意思。你想要:
如果名称不为空,并且电子邮件不为空,并且电话不为空
使用&&
代替||
,它应该可以正常工作!
答案 1 :(得分:1)
我认为你对这里涉及的所有负面因素感到困惑。我怀疑你所追求的是:
if (!(empty($name) || empty($email) || empty($phone))) {
...
} else {
$msg = 'All fields required';
}
哪个(在我看来)写得更好:
if (empty($name) || empty($email) || empty($phone)) {
$msg = 'All fields required';
} else {
...
}
答案 2 :(得分:0)
if($name=='' || $email=='' || $phone=='')
{
$msg='All fields required';
}
else
{
..............
}