0

ユーザーが特定のフィールドにデータを入力しない場合のエラー メッセージを表示しようとしています。ユーザーがフィールドに何も入力しない場合、そのエラーをセッションに保存します。ユーザーが Enter キーを押し、エラー メッセージを含むセッションが設定されている場合、ユーザーは続行できず、エラーが表示されます。エラーを表示するときは、セッションのエラーを変数に保存し、セッションの設定を解除してから、エラーをループして、それぞれを出力します。これは、Firefox を除くすべてのブラウザで動作します。

Firefox では、ページのどこかのセッションで unset() を使用しようとすると、変数の値も消去されます。変数がセッションを参照しているかのように。これは、Firefox のみの問題です。セッションの設定を解除する必要があります。そうしないと、エラー メッセージが出力されている他のページに影響します。

誰でもこれを解決する方法について何か考えがありますか?

エラーがFirefoxのローカルホストサーバーに表示されることを発見しましたが、Webにアップロードすると表示されません。

4

2 に答える 2

0

エラー メッセージを配列に格納して、配列が空かどうかを確認してみませんか?

$errors = array();

if(empty($_POST['variable']))
{
    $errors[] = "Variable empty.";
}

if(empty($errors))
{
    // Process form
}
else
{
    // Loop through the array and echo out each error messsage
}

これはより理にかなっており、すべてのブラウザーで動作することが保証されます。

于 2012-05-19T00:04:08.063 に答える
0

このソリューションは、同様の問題が発生したときに問題を解決しました。

http://sofiac.us/resources/press/20120521_firefox_unset.php

于 2012-05-24T19:21:55.143 に答える