我目前在mysql数据库中有一个用户列表。其中一列是“类型”。如果type等于admin,我试图显示某些数据。如果type等于其他任何东西,它应该只是回显一条错误消息。
不幸的是,我尝试了多种方法,但它似乎并不适合我。谁能帮助我让它正常工作?
这就是我所拥有的,但显然我做错了......
<?php
$usertype = $_SESSION['type'];
if ($usertype == "admin" ){
?>
admin stuff only goes here
<?
}
else
{
echo "not priveleged usertype";
}
?>
编辑: 通过用户名显示以下代码时,我需要使用usertype显示的内容,而不是用户名。
<?php
if($_SESSION['user']['username'] == "oneoftheadminusernames" )
{
?>
答案 0 :(得分:1)
每个页面都必须以
开头<?php
@session_start();
?>
否则,php不会“看到”会话内容。这可能就是这样。 @阻止了php错误:顺便说一下会话已经开始了。
现在,使用会话的每个页面必须在顶部包含此指令。 至少,在一个简单的例子中,它可以完美地再现你的错误。
答案 1 :(得分:0)
如果要保存type
变量中的每个登录用户$_SESSION['type']
字段,而不是您编写的代码是正确的。或者,如果要将type
存储在另一个变量中,而不是要检查的变量。
答案 2 :(得分:0)
我有一个想法,比如在表格中添加字段启用标记。如果enabled flag设置为1,则将其视为管理员作为用户;