我写了一个简单的应用程序,它有登录页面。登录后,搜索插入按钮就在那里。我构建这个简单的应用程序并在上个月成功运行。但是现在当我使用它时,我的页面不会重定向到下一页。我仔细检查了我的语法。
我用Google搜索答案并找到了ob_start()方法。现在我的应用程序运行成功。
当我第一次使用这个应用程序时,我没有使用ob_start。但是为什么没有ob_start()它现在不工作;方法
请解释。
搜索功能:
$email = $_POST['search'];
$sql = "select * from employee_details where ";
if($email){
$sql .= " email = '$email' ";
}
$rv = mysql_query($sql);
if(mysql_num_rows($rv) == 0){
$errmsg_arr[] = "Employee records are not found.";
$page = "HomePage.php";
$errflag = true;
errors($page,$errmsg_arr, $errflag );
}
while( $row = mysql_fetch_array($rv)){
$var['employee_id'] = $row['employee_id'];
$var['employeename'] = $row['employee_name'];
$var['email'] = $row['email'];
$var['phone'] = $row['phone'];
$var['address1'] = $row['address1'];
$var['state'] = $row['state'];
$var['country'] = $row['country'];
}
addvars($var);
header("location: EmployeeDetails.php");
addvars function:
function addvars($vars) {
session_start();
$_SESSION[] = array();
foreach($vars as $keys => $vals) {
$_SESSION[$keys] = $vals;
}
}
错误功能:
function errors($page,$errmsg_arr, $errflag){
if($errflag) {
session_start();
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: $page");
exit();
}
}
答案 0 :(得分:0)
最有可能的原因是您尝试在已经发出标头时设置标头。 (你可以尝试调整输出缓冲,而不是使用ob_start
,如果它困扰你)。