Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2011, 15:41   #1
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию Проблемы с отправкой http заголовка header()

Здраствуйте. В php новичек. Прошу помощи в решении следующей проблемы.
Сделал сайт на TopServer, закинул на хостинг. При обращении на него выводится ошибка:
Код:
Warning: Cannot modify header information - headers already sent by (output started at /home/a/site.ru/WWW/index.php:2) in /home/a/site.ru/WWW/counter_script/counter.php on line 19
Warning: Cannot modify header information - headers already sent by (output started at /home/a/site.ru/WWW/index.php:2) in /home/a/site.ru/WWW/counter_script/counter.php on line 34
Прочитал про функцию header(), написано что до нее не должно быть никаких выводов в браузер (выводов.пробелов, пустых строк нет, с кодировками тоже все нормально).
Начало index.php
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<?
include("counter_script/counter.php");
?>
и counter.php
Код:
<?include("counter_script/config.php");
if($check_ip == true)
{
$condition = !isset($user_id) or $REMOTE_ADDR != $user_id;
}
else
{
$condition = !isset($user_id);
}
$file=file("counter_script/cnt.txt");
if ($condition)
{
	if ($allow_subdomain_cookie == true)
	{
setcookie("user_id", $REMOTE_ADDR, time()+$cookie_live_time, "/", ".".$HTTP_HOST."");
	}
	else
	{
setcookie("user_id", $REMOTE_ADDR, time()+$cookie_live_time);
	}
for($i=0;$i<sizeof($file);$i++)
if($i==0) $file[0]= str_replace($file[0], "".($file[0]+1)."\r\n", $file[0]); 
$fp=fopen("counter_script/cnt.txt","w"); 
fputs($fp,implode("",$file)); 
fclose($fp);
if ($allow_reload_page == true)
		{
if ($QUERY_STRING != "")
	{
header ("Location: ".$PHP_SELF."?".$QUERY_STRING."");
	}
	else
	{
header ("Location: ".$PHP_SELF."");
	}
exit;
		}
}
Думаю на DOCTYPE, но без него проверить не могу. Когда его убираешь сайт вообще на хостинге не работает.
Заранее благодарен!!!

Последний раз редактировалось DeFace; 19.08.2011 в 15:44.
DeFace вне форума Ответить с цитированием
Старый 19.08.2011, 15:52   #2
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Вот это:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<?
include("counter_script/counter.php");
?>
Напиши так:
Код:
<?
include("counter_script/counter.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Старый 19.08.2011, 16:32   #3
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

Когда doctype убираеш с первой строки, как Вы предложили, сайт вообще не работает. Как и в случае когда вообще его удаляеш.
DeFace вне форума Ответить с цитированием
Старый 19.08.2011, 16:43   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Лишних пробелов в файле нет? А в counter_script/config.php что?
motorway вне форума Ответить с цитированием
Старый 19.08.2011, 16:49   #5
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

лишних прбелов нет нигде. в config.php
Код:
<?
$check_ip = true;
$cookie_live_time = 5;
$allow_reload_page = true;
$allow_subdomain_cookie = false;
$allow_counter_print = true;
?>
DeFace вне форума Ответить с цитированием
Старый 19.08.2011, 17:02   #6
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Ваша проблема в том что до setcookie в браузер начинает что-то выводится .... пробелы как вам сказали или еще что-нибудь, был Doctype, ищите еще.
Может быть например кодировка файла utf8 c BOM
Проверьте во всех php файлах чтобы перед <? вообще никаких символов, новых строк и пробелов не было
Cronos20 вне форума Ответить с цитированием
Старый 19.08.2011, 17:03   #7
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

А я вот начал пробовать у себя на локалхосте, почему-то кука устанавливается, даже если до этого до этого есть вывод ) или это другой случай...
motorway вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг HTTP заголовка nikolas0 Работа с сетью в Delphi 5 05.01.2011 15:24
Проблемы с Joomla отправкой писем Rusl92 WordPress и другие CMS 4 24.10.2010 03:02
Авторизация HTTP/1.1: Header timon777777 Работа с сетью в Delphi 5 28.07.2010 15:57
Проблемы при считывании PE- заголовка nazavrik Общие вопросы C/C++ 0 05.10.2009 20:33
Проблемы с отправкой СМС сообщений через Билайн tuschkan Компоненты Delphi 0 09.02.2009 10:50