我有一個iframe在我的頁面上顯示一個計時器。當會話結束並且用戶返回時,重要的是定時器必須再次從0開始。這是行不通的,在排除故障後,我意識到我的iframe有另一個sessionid比我的其他頁面。因此,如果用戶註銷並返回,Iframe將繼續使用以前的sessionid。我做錯了什麼,如何讓我的Iframe不使用它自己的會話ID?所以只需在timer.php(Iframe頁面/第二頁面)上總結它,session_id()在註銷並返回時保持不變。我需要它使用與page1相同的會話信息,而不是它自己的。我希望我解釋正確。iframe使用不同的sessionid
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;
你可以嘗試session_name而不是session_id –
if iframe iframe(iframe)有不同的sessionid,它不是從你的主頁面提供的同一臺服務器上運行的,我的意思是服務器*地址*,而不是物理服務器,請檢查會話cookie的範圍 – DaveRandom
你真的必須使用iframe嗎? JavaScript框架像jQuery? – ajreal