Проблема с Header()

  • Автор темы Автор темы web_VIP
  • Дата начала Дата начала
W

web_VIP

Пишет ошибку
Код:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\ccs\index.php:20) in Z:\home\localhost\www\libraries\lib_admin.php on line 14
И так уже не первый раз что я сталкиваюсь с этой ошибкой.

Вызывается он через include "../file.php" в index.php.

Код:
function session_id_select() {
$login=$_SESSION['admin_user'];
$query_old = mysql_query("Select * from admin_users WHERE login='$login'");
if($query_old) {
$old=mysql_fetch_array ($query_old);
$time_old = $old['time_old']+1;
$time_new = date(U);
if ($time_new>=$time_old) {
session_destroy(); 
header("location:index.php"); 
exit();
} else {
echo "Все отлично!!!"; 
}; };
};

Если его не вызывать через include "../file.php", в самом index.php, то будет работать, но как сделать что бы работал так как есть, или другие варианты какие-нибудь, есть? подскажите пожалуйста.
 
1) Если что-то уже в браузер выводилось(ошибки например), то header() никакого эфекта не возимеет(он не может изменить отосланное)
2) что может выводится в браузер до окончания работы скрипта:
- ошибки php(варнинги всякие): в помощь
- flush() - он для того и создан, чтобы выводить уже выданное интерпетатором php в браузер

в вашем случае - возможно несуществующий файл. Попробуйте прописать путь через $_SERVER['DOCUMENT_ROOT']
 
Предлагаю написать error_reporting(15) в начале скрипты. И вы увидите ошибку.
Если нет, тогда редирект можно сделать и JAVA и META - какой вам больше нравится. Без Хеадеров. Но то, что у вас начался вывод данных перед отправкой заголовка - это точно.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!