2013-05-06 3 views
0

У меня проблема с заголовком для перенаправления. Когда я пытаюсь перенаправить, он говорит об этом ...Ошибка перенаправления заголовка с головной частью сайта

Предупреждение: session_start() [function.session-start]: Не удается отправить ограничитель кеша сеанса - уже отправленные заголовки (вывод запущен в .../head.php: 7) в .../init.php по линии 3

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(); 
?> 

Я добавил ob_start и ob_flush для init.php, потому что я видел много o с теми же проблемами, которые были решены с этим. У вас, ребята, есть идеи для меня?

Большое спасибо!

ответ

1

ob_start необходимо выполнить перед началом любого вывода (то есть до того, как head.php будет вызываться даже в начале head.php).

В идеале вы разработали бы свое приложение для создания всего HTML сначала и испускаете его в конце.

+0

Итак, попробуйте поместить ob_start на страницу, вызывающую/голова? – RightLeftRight12

+0

@ user2127663, который мог бы работать –

+0

Ah wow Это действительно сработало! Спасибо за помощь моему другу! – RightLeftRight12