2011-05-10 48 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