PHP会话不会工作?在多个页面上使用变量

时间:2013-12-02 13:08:40

标签: php session variables

我想要的是我可以使用变量在多个页面上使用 唯一的问题是,它不起作用因为我做错了我相信 经过几个小时看着它想到了什么可能是错的我决定在这里发布,所以也许你可以帮助我 我的代码:
login.php:

<?php
    if(empty($_SESSION['pass']))  { 
        echo "U bent niet ingelogt.";
        echo '<form action="index2.php" method="post">';
        echo 'Code <input type="text" name="code">';
        echo '<input type="submit">';
        echo '</form>';
    } else {
        redirect($url);
    }

    $url = "index2.php";
    function redirect($url)
    {
        if (headers_sent()) {
            die('<script type="text/javascript">window.location.href="' . $url . '";</script>');
        } else {
            header('Location: ' . $url);
            die();
        }    
    }
?>

Index2.php:

<?php 
    session_start();
    // error_reporting(0);

    $CODE = $_POST["code"];
    $_SESSION["pass"] = $CODE;
    if ($CODE == "testpassword") {
        echo "password correct";
        echo '<br /><a href="index.php">Index</a>';
    } else {
        echo "Password wrong";
        echo '<br /><a href="login.php">Login</a>';
        exit();
    }
?>

的index.php:

<?php 
    session_start();
    // error_reporting(0);

    $CODE = $_POST["code"];
    $_SESSION["pass"] = $CODE;
    if ($CODE == "testpassword") {
        echo "password correct";
    } else {
        echo "Password wrong";
        exit();
    }
?>

2 个答案:

答案 0 :(得分:4)

每个使用session_start()变量的网页都需要$_SESSION[]

缺少第一个文件。

答案 1 :(得分:2)

您在login.php中忘了session_start();

session_start用于创建或恢复现有会话。如果您不在脚本中调用它,则无法使用$_SESSION数组。