0

私はPHPに非常に慣れていません...そして、ユーザーがサインインしたときにセッション変数を設定するREST APIを持っています:

$a = session_id();
if(empty($a)) session_start();
$_SESSION['id']=...

同じブラウザー (別のタブ) で testFunction を呼び出すと、セッション変数は同じままです。

$sessionID = session_id();
if(empty($sessionID)) session_start();
echo($_SESSION['id']);

後でページでiframeを開くと、まだ問題ありません。

しかし、iframe 内のページが別の URL にリロードされると、セッションが失われます...

$_SESSION['id'] // gives error: Undefined index: id

つまり、私は常に同じページにとどまっていますが、私の iframe は URL を変更しています。

PHPセッション変数を誤解していますか? 私はそれを誤用していますか?両方?

4

2 に答える 2

0

iframe コードも呼び出す必要がありsession_start()ますが、実際に呼び出していますか?

于 2012-10-18T12:15:38.470 に答える
0

セッションを使用しているときはいつでも呼び出す必要があります。session_start()チェックする必要はありませんsession_id()

session_start()GET または POST リクエストを介して渡された、または Cookie を介して渡されたセッション識別子に基づいて、セッションを作成するか、現在のセッションを再開します。

于 2012-10-18T12:18:18.967 に答える