Имя: Пароль:
IT
Веб-мастеринг
Cannot modify header information - headers already sent by
0 megabax
 
23.12.12
22:17
При попутке установить куки выдается сообщение
Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\Part\filter.php:33) in X:\home\localhost\www\Part\partners.php on line 26

и куки не устанавливаються, подскажите плз, как лечить?
1 Fragster
 
гуру
23.12.12
22:18
ставь куки перед началом вывода
2 megabax
 
23.12.12
22:33
А если там вообще ны бло никакого вывода?
3 XLife
 
23.12.12
22:35
(2) headers already sent
4 Torquader
 
23.12.12
22:36
Если файл php в utf-8 или unicode, то в начале файла указан пробел для определения кодировки unicode, согласно стандарту.
php клал на этот стандарт и считает, что с этого пробела вывод заголовков закончен.
5 megabax
 
23.12.12
22:40
4, кодировка утф визоут бом
6 megabax
 
23.12.12
22:41
щас сделал вот так

<?php

   setcookie("dddd",1,60);
   echo "FFF ".$_COOKIE["dddd"];
   
   /*include_once("pplib.php");
   include_once("ppdb.php");
   include_once("ini.php");
   include_once("registrator.ph
...
?>

тоесть, все заремил, но куки все равно не устанавливается, хотя уже не ругается варингом.
Почему не устанваливается куки?
7 Torquader
 
23.12.12
22:44
(6) Открой свой текст редактором, который не умеет unicode или utf и вытри всё, что идёт до < и будет тебе счастье.
php-однобайтовая система!
8 megabax
 
24.12.12
00:16
7, открыл в блокноте, там впереди <? ничего нет. Сохранил в блокноте.
Теперьс стало выдавать
Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\Part\ref.php:1) in X:\home\localhost\www\Part\ref.php on line 3

создал файл 1.php вот такого содержания
<?php
   setcookie("dddd",1,60);
   echo "FFF ".$_COOKIE["dddd"];
?>
и все равно купи не устанваливает, кажет FFF
а доложно кахать FFF 1
как быть?
9 megabax
 
24.12.12
00:20
сменил текст на такой
<?php
   setcookie("zzz",1,60);
   echo "qqq ".$_COOKIE["zzz"];
?>
и перекодировал файл в АНСИ
все равно почему то куки не ставит, что делать????
10 bezgudroman
 
24.12.12
01:48
А до
"<?php
  setcookie("zzz",1,60);
  echo "qqq ".$_COOKIE["zzz"];
?> "
есть инклюды или хтмл - теги? они тоже выводятся и тоже ошибка может быть.
А сессию открыл?
11 bezgudroman
 
24.12.12
01:51
session_start(); - сделл?
12 bezgudroman
 
24.12.12
01:59
может СМС чего пишет в вывод???
13 Fragster
 
гуру
24.12.12
08:32
блин, 1сники в принципе справку по функциям не читают?
14 Fragster
 
гуру
24.12.12
08:32
expire

   The time the cookie expires. This is a Unix timestamp so is in number of seconds since the epoch. In other words, you'll most likely set this with the time() function plus the number of seconds before you want it to expire. Or you might use mktime(). time()+60*60*24*30 will set the cookie to expire in 30 days. If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).

       Note:

       You may notice the expire parameter takes on a Unix timestamp, as opposed to the date format Wdy, DD-Mon-YYYY HH:MM:SS GMT, this is because PHP does this conversion internally.
15 megabax
 
24.12.12
09:46
что то вообще старнное пошло.
Сделал вот так
<?php
   setcookie("zxc",1,time()+60);
   echo "ssss ".$_COOKIE["zxc"];
?>
нажал обновить
выдало ssss<пусто>
нажал еще раз обновить, выдало ssss 1
почему так?
16 megabax
 
24.12.12
09:46
11, а что, что бы работали куки надо session_start(); еще делать?
17 Fragster
 
гуру
24.12.12
11:29
(16) не надо
18 Fragster
 
гуру
24.12.12
11:32
(15) почитай, когда формируется _кукиз и что делает сеткуки на самом деле...
19 megabax
 
24.12.12
11:37
что то вообще непонятки творятся.
Делаю вот так:
<?php

   
   include_once("pplib.php");
   include_once("ppdb.php");
   include_once("ini.php");
   include_once("registrator.php");
   setcookie("qaz",1,time()+60);
   echo "ddd ".$_COOKIE["qaz"];
/*    include_once("partners.php");
   
       
   /*
   $partner=new EP_Partners(get_partner_id_cookie());
   
   $partner_id=$pa

дале все заремлено
выдается "Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\Part\filter.php:33) in X:\home\localhost\www\Part\ref.php on line 8
"
иду по инклюдным файлам, заремливаю там все
когда в одном из них заремливаю
include_once("filter.php");
нэто сообщение исчезает
но когда даелю вот так в файле 1.php
<?php
   include_once("1.php");
   setcookie("zxc",1,time()+60);
   echo "ssss ".$_COOKIE["zxc"];
?>
работает все норманлнь
Подкажите плз, почему так?
как вообще с этими кукиам бороться?
может есть какой то альтрантивный варинат? может можно эти проклятые куки чем то заменить?
20 megabax
 
24.12.12
12:24
крик души: кто придумал передавать кукисы через заголовки надо пальцы оборвать!!!!
оказалось что после ?> стояли пробелы и из за этого не работало. Слов нет, один мат.
21 bezgudroman
 
24.12.12
12:29
Это в апаче галка/опшинз?
Как-то так-же встрял в эту тему пару лет назад. И как победил так и не понял..
Основная теорема систематики: Новые системы плодят новые проблемы.