PHP会话变量在页面刷新后消失


PHP Session Variable disappears after page refresh

我有一个大问题,我不能解决它。我的会话变量在文件之间交换,但在刷新第二页后,它们消失了。

代码如下:

index . php

session_start();
header('Title: So random');
header('charset: UTF-8');
//if index.php?login is requested
if(isset($_REQUEST['login'])) {
    //'pass' input box value (from POST) is saved to $pass variable.
    $pass = $_POST['password'];
    //if pasword matches Password.
    if($pass == 'Password') {
        //session_start();
        $_SESSION['logintoken'] = "approoved";
        header("Location: list.php");
        die();
    } else { $error = true; }
}
if(isset($_SESSION['logintoken'])) { 
        header('Location: list.php'); 
        die();
    }

?>
Random HTML With login page goes here...

然后我们有page,它只对登录可用。从登录重定向到它后,它是好的,但刷新后,我有"logintoken未定义"。

list .

<?php
session_start();
if($_SESSION['logintoken'] != "approoved") { 
    //'<meta http-equiv="REFRESH" content="0; url=index.php">'
    die();
}
?>
<html> goes here....
header('Title: So random');
header('charset: UTF-8');   
$_SESSION['logintoken']='' ;

编辑:也许这样更好

if(isset($_SESSION['logintoken']) && ($_SESSION['logintoken'] != "approoved"))
编辑2:

    header("Location: list.php?token=".$_SESSION['logintoken']);

list .

if($_REQUEST['token'] != "approoved") { 
    //'<meta http-equiv="REFRESH" content="0; url=index.php">'
    die();
}