想知道是否有人可以帮助我。我试图从数据库表中设置会话变量。基本上我需要做的是当有人登录时,它会从' user_group'已登录用户的用户表列,并将其分配给会话变量。目前它只是传递用户在登录时手动输入的用户名。
这是我当前的login.php代码。我尝试了各种各样的东西,并在这里寻找提示,但没有运气。
<?php
session_start();
$host = "localhost";
$user = "root";
$pass = "";
$db = "california";
mysql_connect($host, $user, $pass);
mysql_select_db($db);
$username = $_POST['name'];
$password = md5 ($_POST['password']);
// check to make sure both fields are entered
if ($username == '' || $password == '')
{
header("Location:login-fail.htm");
}
else
$sql = "SELECT * FROM users WHERE name='".$username."' AND password='".$password.
"' LIMIT 1";
$res = mysql_query($sql);
if (mysql_num_rows($res) == 1) {
$_SESSION['logged_in']= $username;
header("Location:login-success.htm");
exit();
} else {
header("Location:login-fail.htm");
exit();
}
?>
&#13;
答案 0 :(得分:2)
如果添加
会发生什么$row = mysql_fetch_assoc($res);
你的mysql_query之后并将该组分配给会话
$_SESSION['logged_in'] = $row['user_group']
编辑: 我还想通知你,不推荐使用mysql_ *函数。您的mysql查询也不受SQL注入的保护
答案 1 :(得分:0)
您必须使用db:
的结果//...
$res = mysql_query($sql);
while ($row = mysql_fetch_assoc($res)) {
$_SESSION['logged_in']= $row['user_group'];
}
//...
编辑:尝试使用Mysql PDO而不是mysql_ *函数。它们已被弃用:http://php.net/manual/en/ref.pdo-mysql.php