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代码,我想先重定向。有可能吗?
答案 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 ...这也可以帮助您保护您的内容......