会话的奇怪问题

时间:2012-01-21 07:16:05

标签: php session session-variables

我有这个奇怪的问题,我终于意识到这是由于我确定用户是否登录的单个会话。 ($ _SESSION ['uID'])一切都运转正常,直到这个会话突然出现在我的一个文件中!我的意思是它仍然可以在我的本地主机上工作,但是当我试图在我的实际服务器上访问它时不行。

如果会话存储在某些文件中,我怀疑服务器可能存在问题,如果是这样,为什么会话在我的某个文件中不可用?

修改:问题是而不是session_start(),因为我已在我的文件中找到它。如果我在此会话中使用其他名称,则可以再次使用。

编辑2 :这家伙(这里:session wiped out between pages)似乎有同样的问题,但你可以看到他也没有得到答案。任何人吗?

编辑3 :以下是工作文件和有问题文件的示例:

会话uID在此文件中可用:

<?php
session_start();

if (!empty($_SESSION['username'])) { // USER Active - SESSION Active
    $userLoggedIn = "1"; // login flag
    $uID = $_SESSION['uID']; // here it returns a valid value
    dbconnect();

    // and the rest (this file works ok)

}
?>

并且在以下文件中不可用

<?php
// Jan 2012
session_start();

if (!empty($_SESSION['username'])) { // SESSION Active
    $userLoggedIn = "1"; // login flag

    $pID = ""; // initiating
    $uID = "";
    $NewStat = "1";

    $pID = $_POST['pID'];
    $uID = $_SESSION['uID']; // This is were it returns null!

    // on direct use die
    if (!$pID || !$uID || $pID == "" || $uID == "") die("ERROR 33");
        require_once ("./functions.php");
        dbconnect();

        // Getting info from db and stuff...

        echo $starFile;

    } else {
        die("ERROR sd23");  
}
?>

1 个答案:

答案 0 :(得分:0)

如果您未在该文件中调用session_start(),则会发生这种情况。