Странная проблема с сеансом - PullRequest
0 голосов
/ 21 января 2012

У меня была эта странная проблема, и я, наконец, понял, что это связано с одним сеансом, с помощью которого я определял, вошел ли пользователь в систему или нет. ($ _SESSION ['uID']) Все работало нормально, пока внезапно этот самый сеанс не был доступен ТОЛЬКО ОДНОМ из моих файлов! Я имею в виду, что он все еще работал на моем локальном хосте, но не тогда, когда я пытался связаться с ним на моем реальном сервере.

Если сеансы хранятся в некоторых файлах, я подозреваю, что может быть проблема с сервером, и все же, если так, почему сеанс недоступен только в ОДНОМ из моих файлов?

Редактировать : Проблема в , а не в session_start () , так как он уже есть в моих файлах. Если я использую другое имя для этого сеанса, он снова будет работать.

Редактировать 2 : У этого парня (здесь: сеанс уничтожен между страницами ), похоже, та же проблема, но, как вы можете видеть, он тоже не мог получить ответ. Кто-нибудь?

Редактировать 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 голосов
/ 21 января 2012

Это произойдет, если вы не позвоните session_start() в этом файле.

...