我们说我有两个php文件。
的index.php
<?php
include ('navigation.php');
?>
和 navigation.php
<div class="nav">
<li>
<a id="nav1" href="">Navigation1</a>
</li>
<li>
<a id="nav2" href="">Navigation2</a>
</li>
</div>
Navigation2应仅供管理员使用,因此应隐藏它。在此示例中使用javascript。
的index.php
<body onload="admin();"
<?php
include ('navigation.php')
?>
</body>
<script>
function admin(){
document.getElementById('nav2').style.display = "none";
</script>
为什么这不起作用,我该如何使它发挥作用?
答案 0 :(得分:1)
如果括号作为客户端可以轻松更改css / js,则应将nav2放入php中。如果用户是管理员,则仅显示nav2意味着非管理员用户根本无法访问该信息。
<div class="nav">
<li>
<a id="nav1" href="">Navigation1</a>
</li>
<?php if($admin){ ?>
<li>
<a id="nav2" href="">Navigation2</a>
</li>
<?php } ?>
</div>
答案 1 :(得分:0)
为什么你试图在javascript中使用管理员登录验证,你可以在php中轻松完成。例如,每个登录到您系统的管理员肯定都会使用用户名和密码,这样您就可以设置代码来存储让我们说管理员名称并在会话中将其命名为$ _SESSION ['admin']并在每个管理页面中包含一个会话说`if(!$ _ SESSION ['admin_name']) {
header("Location: admin_login.php");//redirect to login page to secure the welcome page without login access.
} ` 通过这种方式,如果管理员没有登录并尝试访问此页面,他将重定向到登录页面。