PHP-标头位置在移动设备上不起作用?

PHP-标头位置在移动设备上不起作用?,php,redirect,header,Php,Redirect,Header,Expample链接:http://link.bisnis-id.com/?go=google <?php if(isset($_GET['go'])) { ?> <?php $link_id = $_GET['go']; ?> <!-- output = google --> <!-- Short explanation: "google" is generating a link for google website --> <?php

Expample链接:
http://link.bisnis-id.com/?go=google

<?php if(isset($_GET['go'])) { ?>
<?php $link_id = $_GET['go']; ?> <!-- output = google -->

<!-- Short explanation: "google" is generating a link for google website -->
<?php $link_url = "https://www.google.com"; ?>

<?php header("Location: $link_url"); ?>
<?php exit; ?>
<?php } ?>


该链接将重定向到
https://www.google.com
,但当我在移动浏览器上访问时,它不会重定向。

您甚至不能在标题前输出一个输出。此外,您应该只有一个标题的开始和结束。您可以使用
ob\u start()
来。使用下面的代码

    <?php if(isset($_GET['go'])) { 

     $link_id = $_GET['go'];
    $link_url = "https://www.google.com";
    header("Location: $link_url");
     exit;
   } 
?>


希望这对您有所帮助

您不必破坏PHP块

记住,在发送任何实际输出之前,必须调用header(),可以是通过普通HTML标记、文件中的空行,也可以是通过PHP



为什么您要在每一行上打开和关闭php?@Koen Hoeijmakers有时我需要插入html内容,这样做对我来说会更容易。请阅读本文,它将对您有所帮助@Eva Silviana但如果您打算重定向浏览器上永远看不到的HTML注释,为什么不让它们成为PHP注释呢?这也行不通,因为即使是每一行之间的返回也会导致错误。您只需要在脚本末尾有一个
<?php if(isset($_GET['go'])) {
    $link_id = $_GET['go']; //output = google 

    //Short explanation: "google" is generating a link for google website 
    $link_url = "https://www.google.com"; 

    header("Location: $link_url");
    exit; 
 }?>