0

私は大きな問題を抱えており、それを解決することはできません。私のセッション変数はファイル間で交換されますが、2ページ目の更新後にそれらは消えます。

コードは次のとおりです。

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...

そして、ログインした場合にのみ使用できるページがあります。ログインからログインにリダイレクトした後は問題ありませんが、更新後、「ログイントークンが定義されていません」と表示されます。

list.php

<?php
session_start();

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

?>
<html> goes here....
4

1 に答える 1

0
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.php

if($_REQUEST['token'] != "approoved") { 
    //'<meta http-equiv="REFRESH" content="0; url=index.php">'
    die();
}
于 2013-03-17T04:54:36.993 に答える