我有一个名为users的mysql表,其中包含以下字段:
username - password - role角色由普通用户和管理员组成。
我想要的是,当管理员登录时,它会被重定向到另一个页面,而不是普通用户登录的页面。我的代码如下:
<?php
include("../includes/db.php");
$username=$_POST['username'];
$password=$_POST['password'];
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$sql="SELECT * FROM Users WHERE username='$username' and password='$password' And role = 'normaluser'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register("username");
session_register("password");
header("location:myaccount.php");
}
?>我有为普通用户工作的代码,但我只是不知道如何写的管理部分的代码。
发布于 2011-12-23 00:07:19
我会说
$sql="SELECT role FROM Users WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
while ($row = mysql_fetch_object($result)) {
//one hit i hope?!
//DONT save your apssword in the session!!!!
//session_register("username");
//session_register("password");
$role = $row->role;
}
if($role == "user"){
redirect1
}elseif($role == "admin"){
redirect2;
}else{
redirect panic
}发布于 2011-12-23 00:05:45
从查询中检索role,检查它是什么,然后相应地设置头位置。
发布于 2011-12-23 00:06:24
$sql = "SELECT * FROM Users WHERE username='$username' and password='$password'";
// ...
if($count == 1){
$user = mysql_fetch_array($result);
if ($user['role'] === 'normaluser')
{
session_register("username");
session_register("password");
header("location:myaccount.php");
}
if ($user['role'] === 'admin')
{
header("location:admin.php");
}
}https://stackoverflow.com/questions/8606492
复制相似问题