我的数据库中有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');
}
但它抛出“间接循环”错误。
任何用户都可以访问该页面。
那么解决方案是什么?
答案 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');