0

isset 値の値を手動で変更できるかどうか疑問に思っています。つまり、次のようにします。

isset($_POST['search_user']) = true;

これを行う理由: 1 つのページに 2 つの異なる「送信」フォームがあります。1 つのフォームが送信されたら、そのフォームのすべての値を SESSION 変数に取り込みたいと考えています。ただし、他のフォームが送信されると、SESSION 変数は消去されます (技術的には、最初のフォームはもう送信されないため)。

私の考えは、2番目のフォームが送信された場合、最初のフォームの値を自動的にtrueに設定するというものでした

4

2 に答える 2

1

私があなたの質問を正しく理解していれば、2 番目のフォームが送信された場合、現在のセッションを破棄して、新しいフォームから投稿された変数を使用して新しいセッションを開始してみませんか?

http://php.net/manual/en/function.session-destroy.php

session_destroy();

...または、2 番目のフォームが送信された場合は、別のセッション変数を設定できます。

if (isset($_POST['search_user'])) {

    $_SESSION['search_user'] = "true";

}

if ($_SESSION['search_user'] == "true") {

    // Second form was submitted

}
于 2012-06-25T17:10:22.513 に答える
0

各送信ボタンの名前と値を定義してみることができるので、PHPファイルでこれを取得し、必要に応じて必要な処理を実行します。例えば:

最初の形式へのHTML:

<form name="form1" action="page2.php" method="post">
    <input type="submit" value="1" name="button01">
</form>

2番目の形式へのHTML:

<form name="form2" action="page2.php" method="post">
    <input type="submit" value="1" name="button02">
</form>

次に、これを実行してthasが送信されたフォームを検出できますpage2.php

if($_POST['button01'] == "1")
{
     // Do what you need based on form1 submit
}
elseif($_POST['button02'] == "1")
{
     // Do what you need based on form2 submit
}

これを試してから、それがあなたに役立つかどうかを伝えるコメントを残してください。

于 2012-06-25T18:55:08.220 に答える