У меня была эта странная проблема, и я, наконец, понял, что это связано с одним сеансом, с помощью которого я определял, вошел ли пользователь в систему или нет. ($ _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");
}
?>