2012-01-21 28 views
0

私はこの奇妙な問題を抱えていましたが、最終的には、ユーザーがログインしているかどうかを判断するセッションが1つあることに気付きました。 ($ _SESSION ['uID'])突然このセッションが私のファイルのうちの1つだけで利用できなくなるまで、すべてがうまくいきました!私はまだ私のローカルホスト上で働いていたが、私は実際のサーバーでそれに到達しようとしたときではないということです。セッションで奇妙な問題

セッションがいくつかのファイルに保存されている場合、サーバーに問題があると思われます。その場合でも、セッションが自分のファイルのうちの1つのみで使用できない理由は何ですか?

編集:私はすでに私のファイル(複数可)の上にそれを持っているように、問題が)は(を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"); 
} 
?> 
+0

あなたのファイルを見れば**スーパー**です。一つは働いていて、一つは働いていない。それは**超**役に立つかもしれません。 Mmmk? – rockerest

+0

@rockerestここに行く;) – BehnUm

+0

どのように2番目のファイルに入っていますか? 'ヘッダ( 'Location:...');'リダイレクト、または別のものの後にありますか? – rockerest

答えて

0

これは、そのファイルにsession_start()をコールしないと発生します。

+0

3行目にsession_start()があります。 – BehnUm

+0

session_start()はページの最初の行にする必要があります –

+1

問題はありませんアンペア、最初の行は単なるコメントです。 – BehnUm