我正在开发一个网络应用。用户登录后,应存储名为$_SESSION
的{{1}}变量。但是,当我稍后尝试访问它时,我无法进行访问。
login.php和settings.php都可以通过AJAX访问并显示在模态窗口中。
的login.php:
user
打印出来:
<?PHP
require("require/connect.php");
$errors = array();
$passed=FALSE;
if(isset($_POST['username']) && isset($_POST['password'])){
/* Check db, no output */
if($record->password != $password){ ?>
/* Output login fail message */
<?PHP }else if(intval($record->confirmed)!=1){ ?>
/* Output email not cofirmed message */
<?PHP }else{ ?>
$user = clone $record;
unset($user->password);
session_start();
$_SESSION['user']=$user;
print_r($_SESSION);
/*output success message*/
<?PHP };
}else{ /*output login form*/ } ?>
的settings.php
Array ( [user] => stdClass Object ( [id] => 11 [timestamp] => 2013-04-07 15:20:24 [username] => aakilfernandes [email] => email@gmail.com [salt] => 4d9b0fdc1d3241b9c9 [orders] => [karma] => 0 [stocks] => 0 [confirmation_code] => ed54er68d3d [confirmation_time] => 2013-04-07 15:20:24 [confirmed] => 1 ) )
需要/ userdata.php
<?PHP
require("require/connect.php");
require("require/userdata.php");
/*other stuff*//
打印出来:
<?PHP session_start();
print_r($_SESSION);
答案 0 :(得分:0)
在login.php中,我必须将session_start()
移到require("require/connect.php");
之上。即使是直接的下一行也行不通。
不确定为什么会改变任何东西,因为connect.php只是太行而没有输出。
<强> connect.php 强>
<?PHP
mysql_connect(/**/)or die("Couldn't connect to MySQL database");
mysql_select_db(/**/) or die("Couldn't select MySQL database in connect.php");
?>