Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用户访问控制获取用户级别_Php_Sql_Database - Fatal编程技术网

Php 用户访问控制获取用户级别

Php 用户访问控制获取用户级别,php,sql,database,Php,Sql,Database,我有一个带有 在formdata.php中,我将变量设置为 $n=$\u POST['name']; $p=$_POST['password'] 成功登录后,我直接进入页面“main.php” 在main.php中,我想检查用户级别,并根据用户级别限制用户可以访问的页面 要获得包含的用户级别I $query=mysql_query("SELECT level FROM member WHERE userName='$n'"); $level=mysql_fetch_array($query);

我有一个带有

formdata.php中,我将变量设置为
$n=$\u POST['name'];
$p=$_POST['password']

成功登录后,我直接进入页面“main.php”

在main.php中,我想检查用户级别,并根据用户级别限制用户可以访问的页面

要获得包含的用户级别I

$query=mysql_query("SELECT level FROM member WHERE  userName='$n'");
$level=mysql_fetch_array($query);
if ($level==3){
echo "level 3 user";
    }
但是我认为我没有正确地将用户level从数据库获取到变量$level,因为如果($level==3),它不会执行

我不能在
中使用
$n
,其中userName='$n'
,因为$n是在formdata.php中声明的吗


如何从数据库中获取级别字段值?

您的用法是错误的。一定是

if($level[0] == 3) 

你应该调查一下

在formdata.php中验证登录时,将用户的数据保存到会话中:

<?php
session_start();
// validate user credentials
$_SESSION['user_level'] = 3;
$_SESSION['user_name']  = 'John Smith';

mysql\u fetch\u数组
返回数组不要将其用作字符串

这种情况会很严重

$level=mysql_fetch_array($query);
if ($level['level']==3){
     echo "level 3 user";
    }

问题就在这里“$n”

选中此项:
$query=mysql_query('SELECT level FROM member WHERE userName=“”.$n.“”)

我更改为“$query=mysql_query('SELECT level FROM member WHERE userName=“”.$n.”)$level=mysql\u fetch\u数组($query);如果($level['level']==3){echo“level 3 user”}`但仍然无法打印($level)并粘贴其结果,则不会打印任何内容,因为结果意味着查询中存在问题,它不会提供任何结果来打印查询并在phpmyadmin sql中运行
<?php
session_start();
echo("Hello $_SESSION[user_name]!");

if ($_SESSION['user_level'] > 3) {
    echo "You have admin access";
} else {
    echo "You're a regular user";
}
$level=mysql_fetch_array($query);
if ($level['level']==3){
     echo "level 3 user";
    }