我的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/');
}
}
?>
答案 0 :(得分:0)
尝试在exit()
之后添加header()
,因为服务器之间的输出缓冲设置不同
header('Location: http://www.example.com/');
exit();
答案 1 :(得分:0)
尝试在die();
header(...);
header('Location: http://www.example.com/');
die();
答案 2 :(得分:0)
在页面顶部添加以下函数,其中header()比try和header()更适合您。
ob_start();
答案 3 :(得分:0)
尝试
echo "<script>window.location.href='http://www.example.com/';</script>";
答案 4 :(得分:0)
启用错误报告。
您已经发送了一个标题,因此接收了Header already sent...
。
可能的原因是:
session_start()
已知会修改标题。再一次。打开错误报告并仔细检查您的代码。
查看this问题,了解更多更深入的信息。
答案 5 :(得分:0)
我不确定但试试这个。添加您需要去的页面。
header('Location: index.php');