使用onclick()重定向到下一页

时间:2016-09-02 14:08:17

标签: javascript php

<?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脚本中是否有效?

3 个答案:

答案 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而不点击你的链接。