0

私はこの問題の解決策を見つけることができませんでした、そして別の目が何かに気付くかもしれないことを願っています。else $ confirm =行は、最初の「if」が真でない場合は実行されず、その理由がわかりません。

if($_POST['zip'] && $_POST['country']=='USA' && !empty($fax)){
    $plus4 = substr($_POST["zip"],6,4);
    if (empty($plus4)) {
        $link = '<a href="http://zip4.usps.com/zip4/welcome.jsp?city='.$city.'&address2='.$address.'&state='.$state.'&zip5='.$zip.'" class="greybox" onclick="window.scrollTo(0,0)">Zip + 4</a>';
        $msg = "Your Zip + 4 was not provided! We cannot fax your Representative without your Zip+4.<br/>Click here to find your ".$link ;
        print "<p style=\"color: red;\"><b>$msg<br/><br/></b></p>";
    }
    if (empty($_POST['state']) || empty($_POST['zip'])) $statezip = false ; // Check for State & Zip Required
    else $statezip = true ;
    //if (empty($state) || empty($zip) || empty($plus4)) $statezip = false ; // Check for State & Zip Required
    $confirm = !empty($_POST['name']) && !empty($_POST['from']) && !empty($_POST['address']) && !empty($_POST['city']) && !empty($_POST['country']) && $statezip == true ; // Verify required fields
}
else $confirm = !empty($_POST['name']) && !empty($_POST['from']) && !empty($address) && !empty($city) && !empty($country) && $statezip == true ; // Verify required fields
4

3 に答える 3

1

最後の条件により、ステートメントelseは常にfalseforに戻ります。$confirm

&& $statezip == true

ステートメントでその値を設定しているifため、ステートメントでは未定義elseです。

于 2012-10-05T16:09:43.843 に答える
0

中かっこを ELSE ステートメントに追加します。定義する IF でそれらを使用するため、パーサーはそれらを期待しています。

else {
$confirm = !empty($_POST['name']) && !empty($_POST['from']) && !empty($address) && !empty($city) && !empty($country) && $statezip == true ; // Verify required fields
}
于 2012-10-05T16:07:11.717 に答える
0

isset を使用して変数が存在することを確認し、
関数が含まれていなくても true を返します。それ以外0の場合はブラケットも
使用します{
else{do something}

于 2012-10-05T16:10:15.057 に答える