管理面板系统

时间:2013-06-19 17:59:58

标签: php login system admin

stackoverflow离开了,但这次我没有发现任何关于它的事情。 我正在制作一个系统,比如wordpress:     /管理/     /内容/     的index.php

所以,作为WP,'内容'里面会有'主题',但我的问题不是关于它。管理员,当然,用户必须登录。如何将/ admin / *中的所有内容重定向到我的/admin/login.php? 我找到了一个代码,比如:

php代码:

if (!empty($_SESSION['logged_in']))
echo something;
else
redirect something;

但是,我不想在每个页面中创建它,我想在header.php中,在开头做:

if (!empty($_SESSION['logged_in']))
header ('Location: webpage');

HTMLCODE HERE。

但是,在显示HTML之前,我不想加载html代码,我想先重定向。有可能吗?

2 个答案:

答案 0 :(得分:0)

尝试类似:

if (!empty($_SESSION['logged_in'])) {
header ('Location: /admin/login.php');
exit;
}
else
{
// HTML
}

确保在向浏览器发送任何其他头信息之前调用header()。

答案 1 :(得分:0)

如果您想成为管理员,至少要检测您的帐户,请考虑您已检索该帐户的SQL数据并将其存储到会话中。

让我考虑$_SESSION['user_id']$_SESSION['user_prev'],user_id是你的sql的帐户主键,而user_prev是特权,让我说

Member = 1
Developer = 50
Admin = 99

这些是你的特权编号,当然它们必须存储在你的数据库中并检索数据......

我们需要假设某位“VISITOR”登录...我们不知道它是会员/开发人员还是管理员。

if(isset($_SESSION['user_id']))
{
     if(isset($_SESSION['user_prev'])) {
            /*We need to check if it is Admin or else it might be
             *a Developer or just a Member
             */
            if($_SESSION['user_prev'] == 99) {
                include_once 'admin_content.php';
            }elseif($_SESSION['user_prev'] == 50) {
                include_once 'developer_content.php';
            }else{
                include_once 'member_content.php';
            }
     }
}else {
    header("Location: login.php");
}

我使用'include_once'而不是将用户重定向到某个内容/ php ...这也可以帮助您保护您的内容......