提交后PHP不会重定向

时间:2014-12-19 08:11:45

标签: php html

<?php
    error_reporting(0);
    if(isset($_POST['submit'])){
        $additionalIDs = array("williamhew","anthon9","geroyi");
        $rA = array_rand($additionalIDs,1);
        $merchantNick   = ".membership.com";
        $gen_link = $additionalIDs[$rA].$merchantNick;
        header("Location: http://$gen_link");
    }
?>

<input type ="submit" name="submit"  ></input>

我不确定为什么在我点击提交后它没有重定向。这段代码有什么问题吗? 我需要你们的帮助:(。

编辑:

使用此功能也无法重定向,

<?php
    error_reporting(E_ALL);
    if(isset($_POST['submit'])){
        ob_start();
        header("Location: http://www.facebook.com");
        exit;
    }

4 个答案:

答案 0 :(得分:1)

尝试使用param方法=&#34; post&#34;将INPUT元素包装在<form>标记中,如下所示:

<form method="post">
      <input type ="submit" name="submit" />
</form>

顺便说一下,INPUT是一个自我结束标记,所以你可以这样写<input type ="submit" name="submit" ></input>而不是<input type ="submit" name="submit" />。{{1}}

答案 1 :(得分:0)

您要么在标题之前输出内容,在这种情况下它不会重定向。

  

请记住,在任何实际输出之前必须调用header()   通过普通HTML标记,文件中的空行或PHP发送。   使用include或require读取代码是一个非常常见的错误,   函数或其他文件访问函数,并且有空格或空   调用header()之前输出的行。一样的问题   使用单个PHP / HTML文件时存在。

或链接本身无效。这不是不可能的。

答案 2 :(得分:0)

你只需要添加

<form method="post">
    <input type ="submit" name="submit"></input>
</form>

答案 3 :(得分:0)

试一下

使用window.location而不是标题位置

<?php
echo "<script>window.location.href='index.php'</script>";
} ?>