0

我目前在我的 mysql 数据库中有一个用户列表。其中一列是“类型”。如果类型等于管理员,我正在尝试显示某些数据。如果 type 等于其他任何值,它应该只回显一条错误消息。

不幸的是,我尝试了多种方法,但它似乎并不适合我。谁能帮我让它正常工作?

这就是我所拥有的,但显然我做错了什么......

<?php 
$usertype = $_SESSION['type'];
if ($usertype == "admin" ){


?>
admin stuff only goes here
<? 
}
else
  {
  echo "not priveleged usertype";
  }
?>

编辑:以下代码在通过用户名显示时有效,但是,我需要按用户类型显示的内容,而不是用户名。

<?php 


    if($_SESSION['user']['username'] == "oneoftheadminusernames" ) 
    { 




?> 
4

3 回答 3

1

每个页面都必须从

<?php 
      @session_start();
?>

否则,php 不会“看到”会话内容。所以大概就是这样。@ 防止 php 错误:会话已经开始......顺便说一句。

现在,每个使用会话的页面都必须在顶部有这个指令。至少,在一个简单的例子中,它完美地重现了你的错误。

于 2012-11-19T04:20:21.043 回答
0

如果您将每个登录用户type字段保存在$_SESSION['type']变量中,那么您编写的代码是正确的。或者,如果您存储type在另一个变量中,而不是您要检查的那个变量。

于 2012-11-19T04:22:20.617 回答
0

我有一个想法,比如在表中添加一个字段 EnableFlag。如果启用标志设置为 1,则将其视为管理员,否则视为用户;

于 2012-11-19T04:41:10.003 回答