0

Cookie を無効にしてセッション変数を渡す際に問題があります。

スクリプト 1:

session_start();
$_SESSION['x'] =55;

次に、セッション ID を URL 経由で渡します (php の初期設定を変更し、URL に明示的に追加することで試しました)。たとえば、次のようになります。

<a href="abc.php?<?php echo SID; ?>">abc to</a>

スクリプト 2 abc.php:

session_start();
session_id($_GET['PHPSESSID']);
echo session_id();

2 番目のスクリプトで ID を確認しますが、まったく同じです。しかし、 $_SESSION['x']変数または toprint_rを使用しようとすると、$_SESSION設定されていないことが示されます。

4

2 に答える 2

2

信じられない。何時間も検索した後、この質問をここに投稿するだけで解決策が見つかりました。

順序は次のとおりです。

session_id($_GET['PHPSESSID']);
session_start();

そのため、最初に ID を設定してからセッションを開始する必要があります。または、少なくともそう思われます。

于 2012-07-22T17:55:32.133 に答える
0
echo session_id($_GET['PHPSESSID']);

それ以外の

session_id($_GET['PHPSESSID']);
echo session_id();

session_id() は session_id( string $id ) を返すので、それを $var に保存するか、上記の例でエコーします

$_SESSION['x'] = 55; で設定したものと同じ結果が得られると期待していますか? ?

于 2012-07-22T17:37:10.170 に答える