我有一个 PHP 'if' 条件,如果为真,我想用 javascript 将用户重定向到其他地方。但是它似乎不起作用,因为它总是重定向我,无论条件是否为真。
<?php
if (isset($_SESSION['lol'])) {
?><script type="text/javascript">
<!--
window.location = "http://www.test.org"
//-->
</script><?php
}
?>
这怎么可能?或者我怎样才能让它工作?
我有一个 PHP 'if' 条件,如果为真,我想用 javascript 将用户重定向到其他地方。但是它似乎不起作用,因为它总是重定向我,无论条件是否为真。
<?php
if (isset($_SESSION['lol'])) {
?><script type="text/javascript">
<!--
window.location = "http://www.test.org"
//-->
</script><?php
}
?>
这怎么可能?或者我怎样才能让它工作?
只需在 PHP 中重定向:
<?
if (isset($_SESSION['lol']) {
header("Location: test.org");
}
?>
编辑:但是如果你想使用你当前的代码,你需要回显脚本标签:
<?
if (isset($_SESSION['lol'])) {
echo "<script>window.location.href = 'test.org';</script>";
}
?>
不管 Javascript 方法看起来多么简单,您都应该在 PHP 中进行重定向:
<?php
header('Location: http://test.org');
exit;
?>
首先,可能会出现 javascript 无法正常工作的情况(它可能被故意关闭,用户可能使用不兼容的浏览器,用户可能安装了 NoScript 等浏览器插件等)
此外,您应该在重定向后停止代码执行(这就是exit
我的示例中存在的原因),以便恶意访问者无法忽略重定向而只是阅读页面内容。