我正在用 PHP + MySQL 开发一个知识管理系统,我将员工和学生保存在不同的表中。现在我在 session 管理方面遇到了一些问题。
如果以学生身份登录,我可以访问 student_profile.php?id=1
,但是如果我将 url 更改为 staff_profile.php?id=1
,我将以员工身份登录!
我该如何解决这个问题?
还有,我可以把学生和教职工放在同一张 table 上吗?有什么问题吗?
最佳答案
当用户登录成功时,您可以为 session key 设置不同的值(身份)。
在 login.php 中
<?php
session_start();
if(user_is_student()) {
$_SESSION["usertype"]="student";
...
}
else
if(user_is_staff()) {
$_SESSION["usertype"]="staff";
...
}
?>
在教职员工和学生个人资料页面中,验证 usertype
键的值。
员工.php
<?php
session_start();
$validUser=false;
if(isset($_SESSION["usertype"]))
{
if($_SESSION["usertype"]=="staff")
{
$validUser=true;
}
}
if(!$validUser) {
header("Location: login.php");
}
?>
关于php - session 管理 : PHP+MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8652669/