[英]php - how to give an admin their own section in panel?
我的用户/登录面板在php中有点问题。 如果客人在他的面板中看到我的页面,他可以选择登录和注册。 用户看到他们的成员面板如下:
(有一些IF函数,确保在base中没有会话ID,然后显示guest的选项)
<?php
else:
?>
<div>
<h1>Members panel</h1>
<p>You can put member-only data here</p>
<p><a href="registered.php">View a member page</a></p>
<p><a href="changepass.php">Edit your password</a></p>
<p>-----</p>
<a href="?logoff">Log off</a>
现在:在我的数据库中,用户我有一个名为ROLE的列。 有用户和管理员等角色。 我想让管理员看到该面板中的另一部分。 我正在尝试使用另一个开关/案例和IF指令,例如:
<?php
if (isset($_SESSION['role']) && ($_SESSION['role'] =='admin'));
{
}
?>
(there is member panel)
<div class="left right">
<h1>Administrator panel</h1>
<a href="admin.php">View an admin page</a>
但它不起作用。 (我有会话变量角色。)有什么想法吗?
您可以尝试删除';' 之后如果
<?php
if (isset($_SESSION['role']) && ($_SESSION['role'] =='admin')) {
?>
<!--ADMIN PANEL GOES HERE-->
<?php
} else {
?>
<!---USER PANEL GOES HERE-->
<?php
}
?>
首先你应该分开查看和控制,即不要将PHP代码放在你的html文件中。 有很多可能性来保持这个更清洁。 例如, SMARTY框架非常受欢迎。
第二,如何将角色写入$ _SESSION(以及为什么?)。 你应该更好地传递你的db-recordset。 伪:
$rs = db->query(SELECT * FROM users ORDER BY userID)
if ($rs[¤tUserID]['role'] == 'admin') {
...
}
第三:如果你搞乱php和html,你至少应该在一个单独的区域(显然在任何输出之前)生成你的php,并输出你的HTML,例如heredoc语法:
<?php
// do any PHP stuff here
$panel = 'user logged in';
if (admin) {
$panel .= "i'm an admin";
}
echo <<<OUT
<!DOCTYPE html>
<html>
... // put all HTML in here and use variables
<body>
<div>$panel</div>
</body>
</html>
OUT;
?>
PS:请删除css标签,因为你的问题与它无关
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.