0

このコードを使用してエラーの表示を試みると、ページはmyaccountにリダイレクトされますが、たとえば、必須フィールドが入力されている場合にのみ、そこにリダイレクトする必要があります。

birth_countryが選択されていない場合、エラーメッセージが表示されます

if(empty($birth_country))
    {
        $err[] = "ERROR - Enter Birth Country";
           header("Location: personal.php?msg=$err[0]");
    }

ただし、選択した場合は、にリダイレクトする必要があります...

header("location: myaccount.php?id=" . $_SESSION['user_id']. "");
exit();

しかし、それはどんなに感謝しても常に私のアカウントに行きます

4

2 に答える 2

1

最初のヘッダーの後にも入れexitます。コードは続行され、2番目のロケーションヘッダーも出力され、最初のロケーションヘッダーが無効になる可能性があります。

于 2012-04-13T22:12:55.287 に答える
0

フリッツが言うように、エラーを表示したい場合は、画面にエラーを印刷する必要があります。headerただし、またはが機能しない前にHTMLを印刷することはできませんheader。リダイレクトページにエラーを出力したい場合は、エラーメッセージをCookieに入れてから、リダイレクトページでそのCookie/変数を$_SESSION呼び出すことをお勧めします。echoただし、これを行うと、変数php session_start()を使用するために、質問ページの上部とリダイレクトページの上部で使用する必要があります$_SESSION

また、あなたの2番目header

header("location: myaccount.php?id=" . $_SESSION['user_id']. "");
exit();

次のようになります。

header("Location: myaccount.php?id=$_SESSION['user_id']")

$_SESSION[]二重引用符を使用すると、タグを追加して、最後に空白を追加する必要がありません""

于 2012-04-13T23:22:41.960 に答える