如何将这个PHP代码与HTML和Javascript结合起来?

时间:2012-12-16 14:43:05

标签: php javascript html

例如,这是我的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`

欢迎任何建议和帮助,谢谢!

5 个答案:

答案 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>";

 }

?>