2011-12-05 17 views
0

タイマーを表示するページの1つにiframeがあります。セッションが終了してユーザーが復帰すると、タイマーは再び0から開始する必要があります。トラブルシューティング後、これは動作していません。私のIframeに他のページよりも別のセッションIDがあることがわかりました。したがって、ユーザーがログアウトして戻ってきた場合、Iframeは前のsessionidで続行します。何が間違っているのですか?Iframeに自分のセッションIDを使用させないようにするにはどうすればよいですか?それで、timer.php(Iframeページ/ 2ページ目)で要約するだけで、session_id()はログアウトして再びログインしたときと同じ状態を保ちます。私はそれがpage1と同じセッション情報を使用する必要があります。私が正しく説明したかったと思う。iframeは異なるセッションIDを使用します

PAGE1

if ($_SESSION['auth']) { 
include 'datalogin.php'; 
$sessionId = session_id(); 
$tid = $_SESSION['tid']; 
$userid = $_SESSION['userid']; 
echo "<IFRAME SRC='timer.php?tid=$tid&userid=$userid' WIDTH='100' HEIGHT='50' frameborder='0'></IFRAME>"; 

TIMPER.PHP

<?php 
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); 
session_start(); 
?> 
<head> 
<meta http-equiv="Refresh" content="1; "> 
</head> 
<body> 
<?php 
session_start(); 
$sessionId = session_id(); 
echo $sessionId; 
+0

session_idの代わりにsession_nameを試すことができます。 –

+0

iframeの場合は、次のように入力します。iframe(if _ {_ sess '})あなたのメインページと同じサーバーからは配信されません。これは、物理サーバーではなくサーバー*アドレス*を意味します。セッションクッキーの範囲を確認してください – DaveRandom

+0

iframeを本当に使用する必要はありますか? jQueryのようなJavaScriptフレームワーク? – ajreal

答えて

1

溶液#1:あなたはちょうどそれがあなたの問題を解決しないかもしれません((jqueryの)アヤックスの代わりに、IFRAMEを使用することができ、Iなぜiframeを使用しているのかわからない)

解決策2:session_name( 'Y OUR_SESSION_NAME_HERE '); session_start()を使用した後の各ページの?

ソリューション#3:あなたはiframeに(限り、あなただけのGETパラメータとしてPHPのセッションIDを渡すことができます(()SESSION_ID timer.php TID = $ TID &ユーザーID = $ユーザーID &のSES =」?。)

関連する問題