Php 我的标题位置不适用于live,但适用于localhost

Php 我的标题位置不适用于live,但适用于localhost,php,header,location,Php,Header,Location,我的标题位置不能在live上运行,我有Godaddy主机,我的其他项目工作正常,但在localhost上工作正常 <?php $dataerr = ""; $valueX = rand(1, 6); $valueY = rand(6, 9); $bodmas = array('+', '-', '*'); shuffle($bodmas); eval("\$ans=".$valueY.$bodm

我的标题位置不能在live上运行,我有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/');
        }
    } 

    ?>

尝试在
标题()之后添加
退出()
可能是因为服务器之间的输出缓冲设置不同

header('Location: http://www.example.com/');
exit();
尝试使用
die()
标题(…)


看看这个:

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

ob_start();
试一试

echo“window.location.href=”http://www.example.com/';";

打开错误报告

很有可能您已经发送了一个头,因此,接收到已发送的
头…

可能的原因是:

  • 在文件中有一个PHP结束标记
  • -这在很大程度上取决于你的编辑
  • session\u start()
    可以修改标题
  • PHP以前的错误/警告/etc
  • 在标题前发送无意中的空白
再一次。打开错误报告并仔细检查代码


查看问题以获得更多更深入的信息。

我不确定,但请尝试此方法。添加你需要去的页面

header('Location: index.php');

请编写
错误报告(E|u ALL | E|u STRICT)在脚本顶部,并让我知道您得到了什么。没有任何错误发生,甚至错误日志和错误报告都处于打开状态。但这不是解决问题的正确方法,我想知道我的脚本中哪里有问题警告:session_start():无法发送会话缓存限制器-标题已发送完毕。现在开始。将session_start()放在文件的最开头,我的意思是放在文件的最开头。就在那之后
 echo "<script>window.location.href='http://www.example.com/';</script>";
header('Location: index.php');