-1

わかりました、私は自分のサイトの登録フォームを持っています。

エラーが発生すると、エラーのボックスが表示されます。ボックスは、html div、h2 ヘッダー、および私のエラーをエコーする php で構成されています。

送信を押すと、本来あるべきエラーが表示されますが、ヘッダーと div は何があっても表示されます。

理由がわかりません。

エラーをエコーするコード ブロックを次に示します。

} else if (!empty($errors)){
    echo '<div class="msg_module">';
    echo '<h2>Registration Errors:</h2>';
    echo $General->outputErrors($errors);
    echo '</div>';
}

皆さんありがとう!

編集: $errors は配列であることに言及する必要があります。

編集: 私のインターネットは戻ってきました。ここに outputErrors 関数があります:

public function outputErrors($errors = ''){

        if(is_array($errors)){
            // handle for passed array
            foreach ($errors as $error){
                if(is_array($error)){
                    general::outputErrors($error);
                } else{
                general::$errStr.= ($error != '')?'<li>'.$error.'</li>':'';
                }
            }
        } else if($errors != ''){
        // handle for passed string
        general::$errStr = $errors;
        }
    return '<ul id="error_list">'.general::$errStr.'</ul>';
 }//outputErrors
4

1 に答える 1

0

を使用するvar_dump($errors);と、おそらく変数が空ではないことがわかります。

あなたのコメントから、変数は配列型であると思います

空の関数について PHP マニュアルを読むと、空の配列(要素を含まない配列)に対して true を返すことがわかります。

変数が文字列の場合、ほとんどの文字列は空でないと見なされることに注意してください。

于 2013-02-25T01:16:07.463 に答える