在Home.html文件的标题中,我使用像这样的$ session函数
<?php
@session_start();
if( $_SESSION['flag']==1)
echo'<script>window.location="login.html";</script>';
?>
在上面的代码中,如果用户尚未登录,则只会将用户引导至登录文件。
我现在想要的是,如果用户尚未登录,那么他们仍然能够访问home.html文件,但是有些内容我想要隐藏给未注册的用户。
我使用此代码生成此代码:
$(document).ready(function(){
$check=1;
$("span").click(function(){
if($check==0)
{
$("#login").show();
$("#logout").hide();
}
else
{
$("#logout").show();
$("#login").hide();
}
});
});
所以现在我的问题是,我需要在html文件的标题中更改(在会话函数中)以便它可以与$ Check函数结合使用?&#34;
答案 0 :(得分:3)
使用javascript完成所有这一切并不是一个好主意。用户需要做的只是view source
来自浏览器,他们将看到您要隐藏的页面的所有部分。
使用PHP来确定在发送之前放入页面的内容,而不是隐藏发送的内容。
另外
<?php
@session_start();
if( $_SESSION['flag']==1)
echo'<script>window.location="login.html";</script>';
?>
执行页面重定向是一种糟糕的方式,因为它必须将整个页面发送到浏览器,只是为了将javascript重定向到另一个页面。 更好的方式:
<?php
session_start();
if( ! isset($_SESSION['flag']) || $_SESSION['flag'] == 1 ) {
header('Location: login.html');
exit;
}
?>
现在PHP只是向浏览器发送一个标题,告诉它转到另一个页面。此外,你没有理由不运行其余的scritp。
答案 1 :(得分:2)
您必须将php和javascript结合起来,如下例所示:
$(document).ready(function(){
var check = <?= $_SESSION['flag'] ?>;
$("span").click(function(){
if(check==0){
$("#login").show();
$("#logout").hide();
} else {
$("#logout").show();
$("#login").hide();
}
});
});
显示的示例等待$ _SESSION ['flag']作为整数值。 $ _SESSION ['flag']是一个字符串,您必须将check var设置为引号。