2011-05-10 91 views
0

我可以爲我的生活弄清楚爲什麼我失去所有的會話變量PHP會話變量沒有被存儲(我呼籲在session_start())

這裏是我的PHP代碼:

<?php 
    if($_POST['loginButton']){ 
     session_destroy(); 
     session_start(); 

     $con = mysql_connect("localhost", $_POST["userNameTextBox"], $_POST["passwordTextBox"]); 

     if (!$con) 
     { 
      echo 'Could not connect: ' . mysql_error() ; 
      header('Location: index_error.html') ; 
      die(); 
     } 
     //else 

     $_SESSION['IP']="localhost"; 
     $_SESSION['username']=$_POST["userNameTextBox"]; 
     $_SESSION['password']=$_POST["passwordTextBox"]; 
     $_SESSION['database']="Chuckles_DB"; 
     $_SESSION['Result'] ="Hi"; 
    } 
    ?> 

但是當我運行的下一個PHP腳本

<?php 

        $res=session_start(); 
        echo "Session Started with ".$res." <br>"; 
        echo "Test::>".$_SESSION['IP']." ".$_SESSION['username']." ".$_SESSION['password']." ".$_SESSION['database']."<:::<br>"; 

        $con = mysql_connect($_SESSION['IP'],$_SESSION['username'],$_SESSION['password']); 
        if (!$con) 
        { 
         echo 'Could not connect: ' . mysql_error() . " <br><br>"; 
         echo '<a href="index.html" target="">Please re-login to the web site</a> '; 
        } 
        else{ 
         echo $con; 
        } 
       ?> 

值設置不存在(它們出現在第一時間將此頁發佈到,但如果發佈再次,他們都走了);

here is my phpinfo page

感謝您的幫助!

+1

你的'add_item()'函數是什麼樣的?雖然很醜陋,但您發佈的代碼看起來並不會損害會話值,所以很可能發生在這個函數中。 – 2011-05-10 17:48:53

+0

它需要ticker的價值,並在其上附加信息。它不會改變會議代碼的價值。我會稍後發佈它 – 2011-05-10 19:37:01

+0

嗯,似乎任何會話變量不起作用。 – 2011-05-11 00:48:25

回答

0

可能是它不是一個合適的答案,但我發現PHP階段,而不是痛苦。有時他們會造成麻煩,他們很容易被簡單的數據庫表所取代。您只需創建會話ID並將其存儲在數據庫表和Cookie中。無論如何,如果你需要連接數據庫,它的運行速度可能會更快。但是,如果在你的情況下不可能,你可能也會考慮做PHP的功能;使用文件系統來存儲會話數據。如果您可以使用特定的數據庫和表格作爲登錄信息,請使用它。如果您沒有其他選擇,請考慮使用文件。 PS:如果使用手動方法(數據庫或文件系統),請創建長會話ID。

+0

它justed聲明工作,不知道我改變或什麼是錯的。 – 2011-05-19 15:05:36

0

您的代碼應該是這樣

<?php 
if(!session_start()){ 
    echo "Session Failed!"; 
    exit(); 
} 

if(isset($_POST['commit_sale'])) { 
    echo 'Test7'; 
    commit_sale($_SESSION['ticker']); 
    unset($_SESSION['ticker']); 
} 

?> 
+0

它仍然不迴應該聲明,雖然:( – 2011-05-10 19:37:46