例如,这是我的PHP代码:
<?php
if($country_code == 'US')
{
header('Location: http://www.test.com');
}
else
{
header('Location: http://www.test.com/');
}
?>
我正在尝试使用Javascript代码进行跟踪,但必须高于</body>
代码。
我尝试过将PHP
代码与HTML
结合使用的不同方法,我尝试将HTML单独放在PHP
下方,例如:
<html>
<head></head>
<body>
<?php
?>
<script></script>
</body>
</html>
我得到的最远的是,它跟踪了点击但它没有重定向给我这个错误:
`Warning: Cannot modify header information - headers already sent by`
欢迎任何建议和帮助,谢谢!
答案 0 :(得分:1)
在输出任何内容之前,将php重定向代码放在文档的开头。检查?>
标记之后和<?php
标记之前的空格,因为这些标记将被打印出来并且响应标题将被发送,因此您将无法修改标题以进行重定向。
答案 1 :(得分:0)
您必须尝试以下内容来跟踪:
<?php
if($country_code == 'US')
{
header('Location: http://www.test.com/?us=yes');
}
else
{
header('Location: http://www.test.com/?us=no');
}
?>
然后在索引页面中检查us参数的值。此外,您应该注意在标题功能之前没有任何输出打印以使警告无效:
Warning: Cannot modify header information - headers already sent by
答案 2 :(得分:0)
问题是PHP在JavaScript之前运行。所以你需要在JavaScript中设置PHP变量。
<?php
// your normal code here, like connection to DB
?>
<script>var test = <?php> echo $thatVariable; <?> </script>
答案 3 :(得分:0)
您可能不会在php的header()标记之前向客户端发送输出。 因此,您可以生成一个重定向页面,通过js获取国家/地区信息并将其发送到php(使用例如表单提交)。之后,您可以通过php header()
重定向到accoording页面答案 4 :(得分:0)
<?php
if($country_code === 'US'){
echo "<script> window.location.href='http://www.test.com1'</script>";
}
else{
echo "<script> window.location.href='http://www.test.com2/'</script>";
}
?>