0
私は処理するためにPHPを使用するフォームを持っています。条件が満たされない場合を除いて動作します。私は通常のフィールドを隠すキャプチャを使用する代わりに。このプロセスは、隠されたフィールドが=何もない場合にのみ実行されると考えられます。さもなければ、それは壊すと思われる。 $ 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();
}
}
?>
を継続する前に何aあなたは最初の 'if'ブロックで*から*ブレークしようとしていますか?そのブロックに何もする必要がなければ、それを空のままにしておきます。あるいは、条件を逆転させ( '!='の代わりに '=='を使う)、 'else'ブロックにすべてのロジックを入れるのではなく、ただ一つの条件ブロックだけを持つ方が良いでしょう。 – David
'break 'はif文では動作しません。[documentation](http://php.net/break)を参照してください。たとえそれがあっても、あなたの使用は(少なくともあなたの例では)とにかく重複しているようです。 –
okありがとう、私はそれをします –