0

我写了一个简单的应用程序,它有登录页面。登录后搜索插入按钮在那里。我构建了这个简单的应用程序并在上个月成功运行。但是现在当我现在使用它时,我的页面不会重定向到下一页。我仔细检查了我的语法。

我搜索了答案并找到了 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 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();
}
}
4

1 回答 1

0

很可能是因为您尝试在已发送标头时设置标头。(你可以尝试调整输出缓冲而不是使用它,ob_start如果它打扰你)。

于 2012-07-19T12:38:36.540 回答