在PHP中限制特定用户的访问页面

时间:2015-08-07 04:08:43

标签: php mysql

我的数据库中有3个用户

id username  password
 1  bhaku     123
 2  navin     124
 3  avinash   123

我想限制页面访问权限。用户'bhaku'将在登录后访问该页面。 &安培;其他用户无法通过登录或直接访问。

我使用下面的代码;

session_start();
    if($_SESSION["full_name"]!="bhaskar")
            {
            header('Location: index.php');
            }

但它抛出“间接循环”错误。

任何用户都可以访问该页面。

那么解决方案是什么?

5 个答案:

答案 0 :(得分:0)

    create one more row in ur table with name access as shown below 

    id username  password access
     1  bhaku     123       0
     2  navin     124       1
     3  avinash   123       1

    now allow user to view the page depending on the access value
    example
session_start();
      if($_SESSION["access"]!=0)
                {
                header('Location: index.php');
                }

    Hope it helps.

答案 1 :(得分:0)

而不是按用户名限制;我认为你必须限制你已经分配给它的id;你要做的就是;

创建id的会话;

session_start(); if($_SESSION["user_id"]!==1 OR isset($_SESSION["user_id"])) { header('Location: index.php'); exit; }

答案 2 :(得分:0)

在名为Page access的数据库中创建一行或您喜欢的内容。然后插入一个标志值,如0表示未阻塞,1表示阻塞。

  username     access
    jijo          0
    user1         1

在页面顶部,查询数据库并检查标志是0还是1,如果要在1页以上的页面中使用它,请将值存储在会话中。如果标志为1,则表示用户被阻止,然后将用户重定向到任何其他页面。

答案 3 :(得分:0)

尝试打印$ ['full_name']的名称,并确保获得您期望获得的内容。

使用

进行检查
<?php
session_start();
    if(isset($_SESSION['full_name'] && $_SESSION['full_name'] == "bhaskaran") 
    {
    // redirect where you want to move this user
       header('Location: index.php');
       exit;
    } 
?>

还有一点是,使用id而不是名称重定向会更容易,因为name可以是大写的,可能会遇到潜在的安全问题。

如果您有类似的人群,您希望提供额外的访问权限,那么如上所述,创建一个存储其访问权限的单独字段。将它设置为1或任何你想要的东西,并将其包含在if()子句中,以检查是否也设置了它。

我希望这会对你有所帮助。如果您需要任何进一步的信息,请告诉我。

答案 4 :(得分:-1)

你的方法应该有用。尝试倒车。

session_start();

if(isset($_SESSION["full_name"]) && $_SESSION["full_name"] =="bhaskar"){

  //your content

}
else
header('Location: index.php');