0

一意のPOST値によって送信されたフォームを区別する方法を考え出そうとしています。それ自体はそれほど複雑な問題ではありませんが、私の状況が問題になる可能性があります。

while(!isset($_SESSION['user']) || empty($_SESSION['user'])){
    require_once('login_form.php');
}

ユーザーがページを表示するためにログインする必要があるページにアクセスしたとき。誰かがこれらのページの1つにアクセスし、まだログインしていない場合は、ログインフォームを表示しています。ログインフォームのアクションはそれ自体であり、表示されているページです。表示されているページにもフォームがある場合に問題が発生します。ログインフォームの$_POSTデータがページのフォームの$_POSTデータに到達しないようにする方法が必要です。通常、フォーム入力が同じ名前を共有している場合を除いて、問題にはなりません。

独自の値を使用してフォームを区別する方法が必要です。提出にHTMLボタンを使用することを考えていました。

while(!isset($_SESSION['user']) || empty($_SESSION['user'])){
    require_once('login_form.php');
}
if(isset($_POST['PAGE_FORM']) && !empty(PAGE_FORM)){
    unset($_POST);
}

<form name="PAGE_FORM">
    <button valuye="PAGE_FORM">Submit</button>
</form>

代わりにこういうことも考えていました。

while(!isset($_SESSION['user']) || empty($_SESSION['user'])){
    require_once('login_form.php');
    if(isset($_SESSION['user']) && !empty($_SESSION['user'])){
        unset($_POST);
    }
}

<form name="PAGE_FORM">
    <button valuye="PAGE_FORM">Submit</button>
</form>

どう考えているか教えてください。私はあなたが持っているかもしれない他のアイデアに興味があります。

4

1 に答える 1

3

login_formを含める代わりに、別のログインフォームにhttpリダイレクトを実行します。

于 2012-06-26T03:24:05.843 に答える