我想限制用户访问我的应用程序中的特定网页。在我的应用程序中,我有4个网页,如孟买,德里,班加罗尔,加尔各答,我有havie 4用户说User1,User2,User3和User4。所有用户都是管理员。
我的要求是所有4位用户都无法访问孟买页面, User1只能访问德里页面, User2和User3只能访问Bangalore页面和 User4只能访问Kolkata页面。
我使用以下代码为德里页面:
$allowed_users = array('User2','User3','User4');
if (!in_array($login_session['login_user'], $allowed_users)) {
echo "You dont have permission to access this page";
echo '<meta http-equiv="refresh" content="1; url=Admin-Dashboard.php">';
exit();
}
但它不起作用
答案 0 :(得分:0)
尝试这样的事情:
$allowed_users = array('User2','User3','User4');
if(isset($login_session['login_user']))
{
$login = $login_session['login_user'];
if (!in_array($login, $allowed_users)) {
Header( "HTTP/1.1 403 Restricted Content" );
}
}else{
Header( "HTTP/1.1 403 Restricted Content" );
}
答案 1 :(得分:0)
它确实对我有用。也许你需要转储login_session数组和允许的数组。
此代码完美地完成了您的工作:
<?php
session_start();
$_SESSION['username'] = 'User1';
$login_session = array(
'id' => session_id(),
'login_user' => $_SESSION['username']
);
var_dump($login_session['login_user']); // User1
$allowed_users = array('User2','User3','User4');
var_dump(in_array($login_session['login_user'], $allowed_users)); // bool False
if (!in_array($login_session['login_user'], $allowed_users)) { //Check if the logged user is not in this array (False)
echo "You dont have permission to access this page";
echo '<meta http-equiv="refresh" content="5; url=include1.php">'; // Printed and redirected
exit();
}
答案 2 :(得分:0)
您的代码正在运行,请检查您的会话变量中的值,或者您可以尝试其他方式
$dis_allowed_users = array('User5','User6','User6');
if (in_array($login_session['login_user'], $dis_allowed_users))
{
echo "You dont have permission to access this page";
echo '<meta http-equiv="refresh" content="1; url=Admin-Dashboard.php">';
exit();
}