我有一个PHP'如果'条件,如果是真的,我想用javascript将用户重定向到其他地方。然而,它似乎不起作用,因为它总是重定向我,无论条件是否真实。
<?php
if (isset($_SESSION['lol'])) {
?><script type="text/javascript">
<!--
window.location = "http://www.test.org"
//-->
</script><?php
}
?>
怎么可能?或者我怎么能让它发挥作用?
答案 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
),以便恶意访问者无法忽略重定向并且只是阅读页面内容。