我想在点击提交页面后重定向到下一页,但是我收到以下错误:
警告:无法修改标题信息 - 已在第70行的C:\ xampp \ htdocs \ P_details.php中发送的标题(输出从C:\ xampp \ htdocs \ forms \ P_details.php:80开始)
以下是P_details.php上的php代码
//connect to connect to the database and initialize all functions
include 'scripts/functions/init.php';
include 'html/head.php';
include 'html/page_title.php';
include 'html/top_menu.php';
include 'titles/P_details.php';
//Generate a random Personid
$Personid = rand(1,9999999);
$_SESSION['Personid'] = $Personid;
//Carry over the Jobid to this page
$Jobid = $_SESSION['SESS_MEMBER_JOB'];
if(empty($_POST)=== false)
{
$R_fields = array('Title','Surname','Forename','IdentityNumber','Gender','Race','Nationality');
foreach($_POST as $key=>$value)
{
if (empty($value) && in_array($key,$R_fields)=== true)
{
$errors[] = 'fields marked with (*) are required';
break 1;
}
}
if(empty($errors)=== true)
{
if($_POST['title'] == '-Select-')
{
$errors[] ='Please select Title';
}
if($_POST['Gender'] == '-Select-')
{
$errors[] ='Please select Gender';
}
if($_POST['Race'] == '-Select-')
{
$errors[] ='Please select Race';
}
if($_POST['Nationality'] == '-Select-')
{
$errors[] ='Please select Nationality';
}
}
}
include 'forms/P_details.php';
if(empty($_POST) === false && empty($errors)=== true)
{
//submit personal details
$personal_details = array(
'Personid'=>$Personid,
'Title' => $_POST['title'],
'Surname'=>$_POST['Surname'],
'Forename' => $_POST['Forename'],
'IdentityNumber'=>$_POST['IdentityNumber'],
'Gender'=>$_POST['Gender'],
'Race'=>$_POST['Race'],
'Nationality'=>$_POST['Nationality'],
'WorkPermitNumber'=>$_POST['WorkPermitNumber'],
'JobID'=>$Jobid);
personal_details($personal_details);
//redirect
header('Location:Address_insert.php');
exit();
}
else if(empty($errors) === false)
{
//output errors if the errors array is not empty
echo output($errors);
}
>
请协助
答案 0 :(得分:1)
要么在页面顶部调用ob_start()
,在底部调用ob_end_flush()
,要么在header()
答案 1 :(得分:0)
当您在前往另一个页面之前将任何输出回显到浏览器时,会出现该错误。
检查您的包含,并确保您没有在任何地方做回声。
答案 2 :(得分:0)
我在标题声明
下面移动了包含'forms / P_details.php'的行<?php
//connect to connect to the database and initialize all functions
include 'scripts/functions/init.php';
include 'html/head.php';
include 'html/page_title.php';
include 'html/top_menu.php';
include 'titles/P_details.php';
//Generate a random Personid
$Personid = rand(1,9999999);
$_SESSION['Personid'] = $Personid;
//Carry over the Jobid to this page
$Jobid = $_SESSION['SESS_MEMBER_JOB'];
if(empty($_POST)=== false)
{
$R_fields = array('Title','Surname','Forename','IdentityNumber','Gender','Race','Nationality');
foreach($_POST as $key=>$value)
{
if (empty($value) && in_array($key,$R_fields)=== true)
{
$errors[] = 'fields marked with (*) are required';
break 1;
}
}
if(empty($errors)=== true)
{
if($_POST['title'] == '-Select-')
{
$errors[] ='Please select Title';
}
if($_POST['Gender'] == '-Select-')
{
$errors[] ='Please select Gender';
}
if($_POST['Race'] == '-Select-')
{
$errors[] ='Please select Race';
}
if($_POST['Nationality'] == '-Select-')
{
$errors[] ='Please select Nationality';
}
}
}
if(empty($_POST) === false && empty($errors)=== true)
{
//submit personal details
$personal_details = array(
'Personid'=>$Personid,
'Title' => $_POST['title'],
'Surname'=>$_POST['Surname'],
'Forename' => $_POST['Forename'],
'IdentityNumber'=>$_POST['IdentityNumber'],
'Gender'=>$_POST['Gender'],
'Race'=>$_POST['Race'],
'Nationality'=>$_POST['Nationality'],
'WorkPermitNumber'=>$_POST['WorkPermitNumber'],
'JobID'=>$Jobid);
personal_details($personal_details);
//redirect
header('Location: Address_insert.php');
exit();
}
else if(empty($errors) === false)
{
//output errors if the errors array is not empty
echo output($errors);
}
include 'forms/P_details.php';
&GT;
答案 3 :(得分:0)
header('Location:Address_insert.php');
在任何输出之前。
包含的文件可能包含任何输出吗?
include 'html/head.php';
include 'html/page_title.php';
include 'html/top_menu.php';
include 'titles/P_details.php';
或者
include 'forms/P_details.php';
任何可能仅在header('Location:Address_insert.php');