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)。即使這樣做,你使用它(至少在你的例子中)似乎是多餘的。 –
好的謝謝,我會這麼做 –