<?php
session_start();
?>
<a href="hola.php" onclick="return check();">Take me</a>
<script type="text/javascript">
function check() {
<?php
if(isset($_SESSION['user'])
return true;
else
return false;
?>
}
</script>
用户只有在登录后才能重定向到下一页,否则他将无法访问同一页面。我已经检查过解决方案,但找不到我要找的东西。 php脚本在javascript脚本中是否有效?
答案 0 :(得分:0)
您可以在js中使用php代码,如下所示:
<?php
session_start();
?>
<a href="hola.php" onclick="return check();">Take me</a>
<script type="text/javascript">
function check()
{
var user = '<?php echo $_SESSION['user']; ?>';
if(user)
return true;
else
return false;
}
</script>
答案 1 :(得分:0)
我认为你要做的是:
function check(){
<?php if(isset($_SESSION['user'])){ ?>
return true;
<?php } ?>
return false;
}
但如果没有JS功能,你可以这样做:
<?php if(isset($_SESSION['user'])){ ?>
<a href="hola.php" >Take me</a>
<?php }else { ?>
<a href="#" >Take me</a>
<?php } ?>
答案 2 :(得分:0)
正确&amp;安全版本将直接在hola.php中验证用户的状态,并在用户未登录时重定向回/登录页面。
通过javascript阻止导航或直接隐藏来自php(like suggested in a previous answer)的链接的问题是它不保证用户(或机器人/抓取工具)不会直接访问hola.php而不点击你的链接。