我有3个单选按钮,在registration.php中标有“admin”,“manager”和“employee”。
当新用户选择单选按钮时,它应该转到数据库。
当在登录页面上给出用户名和密码时,应该根据所选的单选按钮将用户带到相应的登录页面:
两张桌子应该给出哪些字段?
答案 0 :(得分:0)
您可以在数据库“Level”中添加列,并在注册新用户时保存“admin”,“manager”和“employee”之一。然后在登录时用php处理它并重定向到相关页面。
答案 1 :(得分:0)
这与Joining tables in MySql with one common field but different values for the common field几乎是同一个问题,你提供了我看到的答案(尽管我没有阅读它,也不知道它是否正确)。
基本上只有一个名为users的表,其中“role”列的值为1-3,1为admin,2为manager,3为employee。
当用户登录时,处理数据以检查密码和用户名是否正确,我相信您已经完成了。如果是,请检查用户的“角色”并重定向
if($role == 1){
// redirect to admin page
}
elseif($role == 2){
// redirect to manager page
}
elseif($role == 3){
// redirect to employee page
}
回应您的评论...... 我很抱歉,因为我不太确定你在问什么......但是要从数据库中检索用户的“角色”(管理员,经理或员工)
$getrole = mysql_query("SELECT role FROM table WHERE username = $username AND password = $password", $conn);
$rowrole = mysql_fetch_assoc($getrole);
$role = $rowrole['role'];
如果$ conn是您与数据库的连接,$ username是登录表单中输入的用户名,$ password是登录表单中输入的密码。如果用户名或密码不正确,则$ role将返回0并且您可以显示错误消息。
你应该有一个默认角色,比如员工,因为我假设会有更多的员工而不是经理或管理员,所以进入phpMyAdmin并将列“role”默认设置为As Defined As 1.这意味着如果用户注册并且他们没有选择角色,默认情况下会将其分配为员工。但您可以验证此字段并强制他们选择角色。无论如何......在检索用户角色后,您会找到指示他们的页面。
if($role == 0){
// show error message
}
elseif($role == 1){
// redirect to admin page
}
elseif($role == 2){
// redirect to manager page
}
elseif($role == 3){
// redirect to employee page
}