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