【发布时间】:2013-12-22 16:50:27
【问题描述】:
我是 PHP 新手。我正在尝试创建一个登录页面,该页面将根据其角色重定向到不同的页面。他们将使用员工 ID 和密码登录。
下面是我的数据库
Staff_id 密码角色
XXXXXXXXX
我的 HTML 登录页面 ---> Login.html 我的登录 php 代码 --> Login2.php
我已经看到了其他问题和解决方案,但我仍然无法正确解决。当我登录时,它只是将我引导到一个空白页面 -xx/xx/Login2.php'。我做错了什么?
我正在使用 PHP 5.**。
这些是我的 php 代码:
// Connect to server and select databse.
$db= new mysqli("$host", "$username", "$password");
//check connection
if ($db->connect_errno) {
printf("Connect failed: %s\n", $db->connect_error);
exit();
}
// username and password sent from form
$staff_id=$_POST['staff_id'];
$password=$_POST['password'];
// To protect MySQL injection (more detail about MySQL injection)
$staff_id = stripslashes($staff_id);
$password = stripslashes($password);
$staff_id = mysql_real_escape_string($staff_id);
$password = mysql_real_escape_string($password);
$sql="SELECT ROLE FROM $tbl_name WHERE STAFF_ID=$staff_id and PASSWORD='$password'";
$rslt= $db -> query($sql);
// Mysql_num_row is counting table row
$count= $db -> affected_rows;
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
$row = mysqli_fetch_array($rslt, MYSQLI_ASSOC);
switch($row["ROLE"])
{
case 'ADMIN':
header("location: /test/HTMLPages/Admin-register.html");
break;
case 'MANAGER':
header("location: /test/HTMLPages/View-report.html");
break;
default:
echo "Wrong staff ID or password";
}
}
?>
知道我采用其他代码并尽可能合乎逻辑地对其进行修补。
编辑:已修复。当然它无处可去,因为我没有说明数据库名称。 :D
感谢您抽出宝贵时间:D
【问题讨论】:
-
您确定从 sql 中获得了预期的结果吗?您可以在切换之前尝试
print_r($row);,看看您有什么。