使用PHP的用户级别
我想做的是,当在我的数据库中设置特定的用户级别时,它会显示特定的文本。这是我的密码使用PHP的用户级别,php,login,Php,Login,我想做的是,当在我的数据库中设置特定的用户级别时,它会显示特定的文本。这是我的密码 $userget = mysql_query("SELECT * FROM `usertable` WHERE `username`='".$_SESSION['user']."'"); $user = mysql_fetch_array($userget); function getUserlevel() { if($user['userlevel'] == '1') { echo "Regular
$userget = mysql_query("SELECT * FROM `usertable` WHERE `username`='".$_SESSION['user']."'");
$user = mysql_fetch_array($userget);
function getUserlevel() {
if($user['userlevel'] == '1') { echo "Regular User"; }
elseif($user['userlevel'] == '2') { echo "Moderator"; }
elseif($user['userlevel'] == '3') { echo "Administrator"; }
else { echo "Undefined"; }
}
我知道该函数正在工作,因为未定义的回显可以工作,我将其设置为测试,但其他函数不工作,尽管我的用户级别设置为3,并且仅回显未定义。用户登录时也会设置会话
这是调用函数的时间
<div class="userData">Welcome Back, <?php echo $_SESSION['user']; ?><hr /><?php
getUserlevel(); ?></div>
欢迎回来,
好的,我想尝试一下:
getUserlevel($user['userlevel']);
function getUserlevel($usrlvl) {
if($usrlvl == '1') { echo "Regular User"; }
elseif($usrlvl == '2') { echo "Moderator"; }
elseif($usrlvl == '3') { echo "Administrator"; }
else { echo "Undefined"; }
}您不能以$user[userlevel]的身份访问$user,因为mysql\u fetch\u数组返回一个数组。如果不使用id而不是用户名,则用户名是否唯一。因此,您应该按如下所示编写函数
function getUserlevel()
{
foreach($user as $u)
{
if($u['userlevel'] == 1){echo "Regular User";}
else if($u['userlevel'] == 2){echo "Moderator";}
else if($u['userlevel'] == 3){echo "Administrator";}
else{echo "Undefined";}
}
}
如果它不工作,请确保您已经编写了一个有效的mysql查询我刚刚将查询包含到函数中,并且它的工作方式是:p
<?php
function getUserlevel() {
$userget = mysql_query("SELECT * FROM `users` WHERE `username`='".$_SESSION['username']."'");
$user = mysql_fetch_array($userget);
if($user['user_level'] == 1) { echo "Regular User"; }
elseif($user['user_level'] == 2) { echo "Moderator"; }
elseif($user['user_level'] == 3) { echo "Administrator"; }
else { echo "Error"; }
}
?>
必须有更多的代码。。。。您要传递给getUserlevel的是什么?没有更多的代码了。函数getUserlevel(){是函数,也是函数的名称。但是,这可以按预期的方式工作。是的,但您仍然需要将该变量传递给函数。请阅读zerkms链接,然后尝试下面我的建议。您需要在函数中使用全局关键字(不要这样做),或显式传递变量。