Forum Webscript.Ru
Программирование => PHP => Тема начата: mishgan от 25 Июня 2002, 20:25:01
-
Скрипт выдает такую ошибку
Warning: Cannot send session cookie - headers already sent by (output started at x:\\www1\\show.php:5) in x:\\www1\\show.php on line 12
Warning: Cannot send session cache limiter - headers already sent (output started at x:\\www1\\show.php:5) in x:\\www1\\show.php on line 12
строка 12 session_start();
Я так разумею что надо чтото добавить в php.ini
-
до установки сессии ничего бровсеру выводить не надо или используй output buffering
-
[off]Причем здесь \'php-скрипты\'? ушли в php[/off]
-
Хех. Так половину тем из скриптов надо перекидывать :-)
-
mishgan
Перенеси session_start() на строку 1. :)
-
Ок. Все работает. Спасибо всем.
-
А что если session_start() на первой строке, но все равно
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/data/www/media.byborg.ru/docs/video.php:1) in /var/data/www/media.byborg.ru/docs/video.php on line 2
Вот кусок неработающего скрипта:
session_start(); //на эту строчку он и ругается
session_register(\'user_id\');
echo "
".$user_id."";
include(\'admin/func_lib.php\');
include(\'admin/nastroyki.php\');
require "class.Template.php";
$tpl = new Template("./templates");
connect_a($hostname,$login,$password,$db_name);
.....
eval("\\$menu = \\"".$tpl->get("t_menu")."\\";");
eval("print \\"".$tpl->get("t_video_1")."\\";");
Причем для примера сделал два примитивных скрипта
1
session_start();
session_register(\'user_id\');
$user_id = "$user";
echo "
".$user_id."";
?>
gksdjh
2й
session_start();
echo "
".$user_id."";
?>
так вот в них значение и устанавливается и передается нормально.
Скрипт который не хочет с сессиями работать сделан на шаблонах (использован класс от http://eugeny.com/). Может быть в этом дело? И вообще, что может писать в headers already sent?
-
xRUSha:
что может писать в headers already sent?
Ничего. headers already sent это не переменная какая, а сообщение об ошибке, что мол хидер уже отослан.
[off]Или это ты прикалываешся?[/off]
А вообще, (как написано в одной умной книге) хидер может отослать и пустая строка в скрипте.
-
Я вообще-то догадываюсь, что такое хидер, смысл этой фразы тоже понимаю. Я не понимаю, что эту ошибку вызывает и как от этого избавится. а насчет
пустая строка
мне уже не смешно.
-
Mog.
Не пугай детей умными книжками. :)
xRUSha:
Я вообще-то догадываюсь, что такое хидер, смысл этой фразы тоже понимаю.
Классика :)
А ошибу эту вызывает то что загаловок HTTP уже послан и его обратно не вернуть.. эх.. кхм, ну ты понял :)
А быть уже посланным он может в том случае когда скрипт успел выплюнуть браузеру каую-нибудь гадкую гиппертекстину..
Так, ладно, всегда проверяй нет ли в твоём скрипте выводов текста (в частности перед ""), текстом считается всё даже мелкие и противные пробелы, символы табуляции и перевода каретки, если что-то из этого есть - УБЕЙ! кхм.. ну ты понял :)
-
бесплатный хостинг, препенд баннера
-
хостинг не
бесплатный
Камертон-Телеком называется
-
Спасибо Neter
несмотря на то, что "" стоит первой строкой, перед ней был /t отступ (уж не помню из каких соображений я его поставил). И именно он зараза все портил