1

這裏是我的問題,我可以說2頁1頁和2頁,我需要的是打開會話並在頁面1上設置cookie將保持1小時,並將重新設置每個頁面刷新。現在第2頁的故事情節略有不同,首先第2頁不應該打開任何會話,而應該檢查在第1頁上打開的任何會話是否仍然有效,並且如果是,則繼續進行任何請求以及但是,如果訪問者在訪問頁面2時直接通過保存的URL或者如果頁面2在會話cookie過期後隨時訪問,則訪問者應該重定向到頁面1.第1頁和第2頁的php會話

此處是我第1頁

<?php 
function startSession($time = 3600, $ses = 'MYSES') { 
    session_set_cookie_params($time); 
    session_name($ses); 
    session_start(); 

    // Reset the expiration time upon page load 
    if (isset($_COOKIE[$ses])) 
     setcookie($ses, $_COOKIE[$ses], time() + $time, "/"); 
} 
?> 

的問題是這樣做的遠,我不知道什麼和怎麼做休息,我應該有2個在網頁上?

這是我在第2頁上試過的,但沒有奏效。

<?php 
if (!isset($_SESSION));{ 
$a = session_id(); 
if(empty($a) and $_SERVER['HTTP_REFERER']);{ 
    header('location: page1.html');}} 
?> 

請幫幫忙。

+0

初看,我可以看到一個錯誤。嘗試在第一個if後刪除de分號:** if(!isset($ _ SESSION)){** – 2013-03-11 10:25:19

+0

我剛剛完成了它,但似乎還沒有發生任何事情,不確定放在頁面1上的腳本實際上作品? – AlexB 2013-03-11 10:30:36

+0

開始你的會話之前使用在第2頁.. 'session_start();' – Ranjith 2013-03-11 10:41:01

回答

1

不考慮語法問題,它看起來不像使用$ _SESSION,要使用$ _SESSION,必須在任何輸出前聲明session_start()。所以在你的情況下可能只使用Cookies。

1(page1.php中):

<?php 
    function extendCookie($time = 3600) { 
     setcookie('MYSES', 'dummy var', time() + $time, "/"); 
    } 
    extendCookie(); //extend cookie by 3600 seconds (default) 
?> 
You are on page 1.<br /> 
<a href="page2.php">Click to proceed to page 2</a> 

第2頁(使page2.php):

<?php 
    if (!isset($_COOKIE['MYSES'])){ 
     header('location: page1.php'); 
    } 
?> 
You are on page 2. 

如果你想使用會話,這將是這樣:

Page 1(page1.php):

<?php 
    session_start(); 
    function extendSession($time = 3600) { 
     $_SESSION['expire_time'] = time() + $time; 
    } 
    extendSession(7200); //extend session by 7200 seconds 
?> 
You are on page 1.<br /> 
<a href="page2.php">Click to proceed to page 2</a> 

Page 2(page2.php):

<?php 
    session_start(); 
    if (!isset($_SESSION) || $_SESSION['expire_time'] < time()){ 
     session_destroy(); //Optional, destroy the expired session. 
     header('location: page1.php'); 
    } 
?> 
You are on page 2. 
+0

謝謝,由於某種原因它沒有工作,我完全如你所說在你的例子中,但不是停留在第2頁上,我已被重定向回第1頁。 – AlexB 2013-03-11 10:50:03

+0

對不起,固定的,我是粗心的。有關如何使用cookie,請參閱http://php.net/manual/en/function.setcookie.php。 – 2013-03-11 10:54:10

+0

出於某種原因,當我試圖通過從頁面1發出請求來訪問頁面時,我仍然在頁面1上結束。爲了說明,我使用了您提供的session_start()腳本。 – AlexB 2013-03-11 11:13:00

相關問題