我的Header位置不在现场工作,但在localhost工作完美

时间:2015-04-07 08:07:44

标签: php header location

我的Header位置没有正常工作我有Godaddy托管和我的其他项目工作完美但在localhost工作完美。

<?php

    $dataerr    =   "";
    $valueX     =   rand(1, 6);
    $valueY     =   rand(6, 9);
    $bodmas     =   array('+', '-', '*');
    shuffle($bodmas);
    eval("\$ans=".$valueY.$bodmas[0].$valueX.";");
    $security = md5($ans);



    if(isset($_POST['vname']))  {$visname   =   $_POST['vname'];}
    if(isset($_POST['vemail'])) {$visemail  =   $_POST['vemail'];}
    if(isset($_POST['ccode']))  {$ccode     =   $_POST['ccode'];}
    if(isset($_POST['hcode']))  {$hcode     =   $_POST['hcode'];}

    if($_SERVER['REQUEST_METHOD'] == 'POST') {  

    $passing    =   md5($ccode);


    if((!filter_var($visemail, FILTER_VALIDATE_EMAIL)) or (!preg_match("/^[a-zA-Z ]*$/",$visname)) or
        (!is_numeric($ccode)) or ($passing !== $hcode)) {

            $displayblock = "showERROR";

            if(!preg_match("/^[a-zA-Z ]*$/",$visname)) {
                $dataerr .= '<span class=""><li>Please enter valid name !</li></span>'; 
            }

            if(!filter_var($visemail, FILTER_VALIDATE_EMAIL)) {
                $dataerr .= '<span class=""><li>Please enter valid email address !</li></span>';
            }

            if(!is_numeric($ccode)){
                $dataerr .= '<span class=""><li>Solve the sum, no kidding !</li></span>';
            } else {if($passing !== $hcode){
                    $dataerr .= '<span class=""><li>Your answer was Incorrent !</li></span>';
                }
            }

        } else {
            session_start();
            $_SESSION['DSTAR'] = "DSTARINFOTECH";
            header('Location: http://www.example.com/');
        }
    } 

    ?>

6 个答案:

答案 0 :(得分:0)

尝试在exit()之后添加header(),因为服务器之间的输出缓冲设置不同

header('Location: http://www.example.com/');
exit();

答案 1 :(得分:0)

尝试在die();

之后使用header(...);
header('Location: http://www.example.com/');
die();

看看这个:How to make a redirect in PHP?

答案 2 :(得分:0)

在页面顶部添加以下函数,其中header()比try和header()更适合您。

ob_start();

答案 3 :(得分:0)

尝试

 echo "<script>window.location.href='http://www.example.com/';</script>";

答案 4 :(得分:0)

启用错误报告。

您已经发送了一个标题,因此接收了Header already sent...

可能的原因是:

  • 在文件中有一个PHP结束标记。
  • Byte order mark - 这很大程度上取决于你的编辑。
  • session_start()已知会修改标题。
  • PHP的先前错误/警告/等。
  • 在标题之前发送无意的空格。

再一次。打开错误报告并仔细检查您的代码。

查看this问题,了解更多更深入的信息。

答案 5 :(得分:0)

我不确定但试试这个。添加您需要去的页面。

header('Location: index.php');