对于我的网站,我有两个单独的用户 - 员工和客户,进而有两个单独的登录名,因此用户的电子邮件地址和密码不会授予员工访问权限。然而,尽管我的员工登录后,他们有权访问的页面对其他用户来说是不可见的,但如果用户找到 URL 并输入它,他们仍然可以查看该链接。我想更改此设置,以便当他们找到该 URL 并尝试查看它时,系统会提示他们登录。
我创建了一个 session 代码,我被告知要在我想要保密的每个页面的顶部放置一个,但是它不起作用,我想问这是否是错误的。
if(isset($_SESSION['staffId']))
$_SESSION['staffId']=$_SESSION['staffId']+1;
else
$_SESSION['staffId']=1;
echo "StaffId=". $_SESSION['staffId'];
session_destroy();
在我的数据库中,我将 StaffId 作为一列,将 StaffType 作为另一列,其中我将我的员工列为 S 类型以及他们的其他详细信息
感谢您的帮助!
最佳答案
即使您正在销毁 session ,流程也会继续,人们可以看到页面的其余部分。您可以执行以下操作:
当员工登录时设置$_SESSION['staffId']
。
当客户登录时设置$_SESSION['customerID']
。
对于仅限员工的页面使用:
if(!isset($_SESSION['staffId']))
die("Access not allowed for customers");
但是对于客户页面,您仍然需要检查他们是否确实登录:
if(!isset($_SESSION['customerID']))
die("Access not allowed for not logged in members");
关于php - 授权访问某些页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109058/