0

送信時に現在のページのURLを追加するフォームがありますdomain.comdomain.com?name=value

フォームはうまく機能しますが、ユーザーが別のページに移動したときにURLがURLに追加された文字列を保持するようにCookieを作成する必要があります。

domain.com?name=value
domain.com/page?name=value
domain.com/page2?name=value

4

1 に答える 1

0

PHP のページ間で変数を渡したい場合は、セッション変数を介して渡します。

プロジェクトのすべてのページで、先頭に次の行を追加します。

<?php
    session_set_cookie_params(0);
    session_start();
?>

次に、1 つのページでセッション変数に値を割り当てます。

$_SESSION['name'] = value;

同じセッション内の別のページでこの変数を取得します。

$name = $_SESSION['name'];

セッションを開いたままにしておくことが終わったら、いつでも呼び出します

<?php 
    session_start();
    $_SESSION = array();
    session_destroy();
?>

セッションを完全に破棄する方法については、この SO 投稿をご覧ください。デフォルトでは、ブラウザが閉じられるか、セッションが明示的に破棄されるまで、セッションは開いたままになることに注意してください。

セッションを処理したくない場合は、PHP 内でスクリプトを呼び出すたびに変数を手動で渡すことができます。

<?php 
    $name = $_GET['name'];
    echo "<form action='nextpage.php?name=$name' method='post'> ... </form>";
?>

このようにして、すべてのフォームが GET を介して name 変数を次のページに送信します。

于 2012-11-29T13:56:57.003 に答える