Php 如果usertype为admin,则显示数据,否则显示错误消息

Php 如果usertype为admin,则显示数据,否则显示错误消息,php,mysql,Php,Mysql,我目前在mysql数据库中有一个用户列表。其中一列是“类型”。如果type等于admin,我将尝试显示某些数据。如果type等于其他任何值,它应该只回显一条错误消息 不幸的是,我尝试了多种方法,但似乎并不适合我。有人能帮我让它正常工作吗 这就是我所拥有的,但显然我做错了什么 <?php $usertype = $_SESSION['type']; if ($usertype == "admin" ){ ?> admin stuff only goes here <? }

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

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

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

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


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

管理员的东西只在这里
编辑: 以下代码在通过用户名显示时有效,但是,我需要按用户类型显示内容,而不是按用户名显示内容

<?php 


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




?> 

每页都必须以

<?php 
      @session_start();
?>

否则,php不会“看到”会话内容。可能就是这样。 @防止php错误:会话已启动。。。顺便说一下

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

如果您在
$\u SESSION['type']
变量中保存每个登录用户的
type
字段,则您编写的代码是正确的。或者,如果要在另一个变量中存储
,请键入要检查的变量。

我有一个想法,比如在表中添加一个字段EnableFlag。如果将EnabLee标志设置为1,则将其视为管理员或用户;p> 如何填充$\u会话['type']?顺便问一下,您在$\u会话['type']中看到了什么值。。我认为这应该是“特权”尝试var_dump($_SESSION);它是否按名称类型显示任何元素?这让您知道该类型未保存在会话对象中。后退一步。不要使用@session_start();如果(!isset($_SESSION)){SESSION_start();}甚至更整洁,则使用。谢谢你的朋友!问题是,一旦会话被函数写入,我的会话就会消失在空气中;到目前为止,我所看到的只是它不起作用;我们需要知道它当前显示的内容。如果代码不包含session_start()指令,可以安全地说,比较结果如下:如果(null==“admin”)没有,我相信它应该抛出异常。这对当前代码有什么影响?问题在于会话是空的,而不是if语句是假的;)可能类似于对管理员使用不同的表,对用户使用不同的表。