我遇到了重定向标头的问题。当我尝试重定向时,它说这个......
警告:session_start()[function.session-start]:无法发送会话缓存限制器 - 已在第3行的... / init.php中发送的标头(输出从... / head.php:7开始)
head.php如下:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>grand exchange</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="activate.css" rel="stylesheet" type="text/css" />
</head>
init.php如下:
<?php
ob_start();
session_start();
//error_reporting(0);
require 'core/database/connect.php';
require 'core/functions/general.php';
require 'core/functions/users.php';
if(logged_in() === true){ //bans users
$session_user_id = $_SESSION['id'];
$user_data = user_data($session_user_id, 'id','username', 'password','first_name', 'last_name', 'email', 'areacode');
if(user_active($user_data['username']) === false) {
session_destroy();
header('Location: index.php');
exit();
}
}
$errors = array();
ob_flush();
?>
我在init.php中添加了ob_start和ob_flush,因为我已经看到很多相同的问题都解决了。你们有个想法吗?
非常感谢!
答案 0 :(得分:1)
ob_start
被调用之前,或在head.php
开始之前) head.php
需要完成。
理想情况下,您可以将应用程序设计为构建所有HTML 首先并在最后发出它。