$ _SESSION变量保持为空

时间:2014-01-13 14:11:40

标签: php mysql pdo

我正在创建一个登录脚本。标题都在工作,但显然$ _SESSION保持空白。有谁知道为什么会这样?

$db = dbConnection();

// username and password sent from form 
$myusername= $_POST['myusername']; 
$mypassword= md5($_POST['mypassword']); 

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM " .$members. " WHERE BINARY `username`= '".$myusername."' and BINARY `password`= '".$mypassword."'";
$result = $db->query($sql);

// Mysql_num_row is counting table row
$count=$result->rowCount();

// Fetch this accounts row from db
$row = $result->fetch(PDO::FETCH_ASSOC);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){

$_SESSION['username'] = $myusername;
$_SESSION['privileges'] = $row['privileges'];
$_SESSION['email'] = $row['email'];
header("location:index.php");

}

2 个答案:

答案 0 :(得分:4)

在脚本顶部添加session_start()

答案 1 :(得分:1)

这里有两种可能性session_start();未使用或$ count不等于1可能都缺失。