0
我有一个表单我使用php进行处理,除非条件未满足时才起作用。而不是使用captia我隐藏一个正常的领域。只有在隐藏字段= =无效的情况下,该过程才会运行。否则它是假设打破。它可以工作,如果$ hide(隐藏的领域)=什么也没有,但它填充字段时引发错误。如果不符合条件,就打破if/else语句
<?php
$to = '[email protected]';
$email = $_POST['email'];
$name = $_POST['name'];
$subject = $_POST['subject'];
$message = $_POST['comments'];
$hide = $_POST['message'];
$error=array();
if ($hide!=''){
break;
}else{
if($_POST['name']==''){
$error[]="Your name is required";
}
if($_POST['email']==''){
$error[]="Your email is required";
}
if($_POST['subject']==''){
$error[]="Subject is required";
}
if($_POST['comments']==''){
$error[]="Comments is required";
}
if(count($error)>0){
echo "<div class='alert alert-danger'>";
foreach($error as $data)
{
echo "<p>".$data."</p>";
}
echo "</div>";
die();
}
$headers = 'From: Attorney Website'. '<'.$email.'>' . "\r\n" .
'Reply-To: '. $email . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers))
{
echo "<div class='alert alert-success'>You message has been succesfully received. We will reply you soon.</div>";
die();
} else {
echo "<div class='alert alert-danger'>Opps! Something went wrong. Please try again.</div>";
die();
}
}
?>
之前什么一个你想在第一个if区块中从*中“分裂”*吗?如果在该区块中没有任何可做的事,就把它留空。或者,更好的是,反转条件(使用'=='而不是'!='),并且只有一个条件块,而不是将所有逻辑放在'else'块中。 – David
'break'与if语句无效,请参阅[documentation](http://php.net/break)。即使这样做,你使用它(至少在你的例子中)似乎是多余的。 –
好的谢谢,我会这么做 –