我正在创建一个登录脚本。标题都在工作,但显然$ _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");
}
答案 0 :(得分:4)
在脚本顶部添加session_start()
。
答案 1 :(得分:1)
这里有两种可能性session_start();
未使用或$ count不等于1可能都缺失。