PHP条件 - Javascript重定向

时间:2013-04-08 15:14:05

标签: php javascript

我有一个PHP'如果'条件,如果是真的,我想用javascript将用户重定向到其他地方。然而,它似乎不起作用,因为它总是重定向我,无论条件是否真实。

<?php
if (isset($_SESSION['lol'])) {
    ?><script type="text/javascript">
<!--
window.location = "http://www.test.org"
//-->
</script><?php
}
?>

怎么可能?或者我怎么能让它发挥作用?

2 个答案:

答案 0 :(得分:3)

只需在PHP中重定向:

<?
    if (isset($_SESSION['lol']) {
        header("Location: test.org");
    }
?>

编辑:但是如果您想使用当前代码,则需要回显脚本标记:

<?
    if (isset($_SESSION['lol'])) {
        echo "<script>window.location.href = 'test.org';</script>";
    }
?>

答案 1 :(得分:0)

无论Javascript方法看起来多么简单,您都应该在PHP中进行重定向:

<?php
    header('Location: http://test.org');
    exit;
?>

首先,可能存在javascript无法正常工作的情况(可能是故意关闭,用户可能使用不兼容的浏览器,用户可能安装了NoScript等浏览器插件等)。

此外,您应该在重定向后停止代码执行(这就是为什么我的示例中有exit),以便恶意访问者无法忽略重定向并且只是阅读页面内容。