Javascript 标头位置在live server上不起作用

Javascript 标头位置在live server上不起作用,javascript,php,html,header,Javascript,Php,Html,Header,我有一个注册和付款页面。程序流程类似于注册>确认>付款。在注册页面进行验证和计算后,需要转到确认页面。 我的代码是 <?php ob_start(); session_start(); include("header.php"); include("ini.php"); date_default_timezone_set('Asia/Brunei'); header('Cache-Control: max-age=900'); if (isset($_POST['submit']))

我有一个注册和付款页面。程序流程类似于注册>确认>付款。在注册页面进行验证和计算后,需要转到确认页面。
我的代码是

<?php
ob_start();
session_start();

include("header.php");
include("ini.php");
date_default_timezone_set('Asia/Brunei');
header('Cache-Control: max-age=900');

if (isset($_POST['submit'])) {
    $error = 0;
//validations

if ($error <= 0) { 
//do some calculation
header('location:confirm.php');
}
}
<?php
ob_flush();
?>
而不是

header('location:confirm.php');
除去

ob_start() and ob_flush()



add exit() after  header()
然后转到空白页

也尝试使用

echo '<script type="text/javascript">';
        echo 'window.location.href="confirm.php";';
        echo '</script>';
echo';
echo'window.location.href=“confirm.php”;
回声';
然后控件转到确认页面,但url似乎为registration.php

但是标题('location:confirm.php');在我的本地服务器上工作正常。谁能帮我解决这个问题。。header()是否有其他方法。期待着你们。。谢谢

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

$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'confirm.php';
header("Location: http://$host$uri/$extra");
还要尝试更改标题('Location:confirm.php');
(注意L是大写的,因为它在本地服务器中的工作可能与严格的php类型有关。请尝试一次)

最后使用
ob\u end\u flush()
。这应该很有魅力。

多年来我都有同样的问题,但今天我发现你不必在标题词前有任何html或空格。试试看。

请停止在PHP代码中使用代码片段。不知道该告诉你什么。你的问题是位置需要一个绝对URI,你不能只给它一个路径。你为什么不回显$host和$URI并告诉我他们说了什么?我可以通过两种方式访问我的网站。一个是和。主机是test2015.abc.org,uri是/Registration
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'confirm.php';
header("Location: http://$host$uri/$extra");