[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: session_start() и header()
Domin
Незнаю некогда не было такого прописываю :

header("Content-Type: text/html; charset=utf-8");
session_start();

вылазиют ошибки:

Warning: Cannot modify header information - headers already sent by
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by

мб кто знает из за чего может быть ?



Спустя 7 минут, 28 секунд (14.06.2011 - 20:04) alex12060 написал(а):
Это происходит из-за того, что заголовок уже был отослан. Заголовок посылается только один раз. Сессия тоже отсылает заголовок.

Спустя 7 минут, 25 секунд (14.06.2011 - 20:11) Domin написал(а):
Я понял что заголовки эти уже прописаны, только вот где ?=)
код страници, делал по урокам:

<?php
/*
* Устанавливаем кодировку и уровень ошибок
*/

header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL);
ini_set('session.cookie_httponly',1);
/*
* Установка ключа доступа к файлам
*/

define('REALM_KEY', true);
/*
* Подключаем конфигурационный файл
*/

include './config.php';
/*
* Получаем файл переменных
*/

include './variables.php';
/*
* Подключаем файл общих функций
*/

include './libs/default.php';

ob_start();
session_start();
/*
* The switch of modules
* Переключатель страниц
*/

switch($GET['page'])
{
/*
* Подключаем главную страницу
*/

case 'home':
include './module/pages/home/index.php' ;
break;
/*
* Подключаем страницу регистрации
*/

case 'registration':
include './module/pages/home/registration.php' ;
break;
/*
* Подключаем страницу правил
*/

case 'regulations':
include './module/pages/home/regulations.php' ;
break;
/*
* Подключаем страницу новостей
*/

case 'news':
include './module/pages/home/news.php' ;
break;
/*
* Подключаем страницу статей
*/

case 'article':
include './module/pages/home/article.php' ;
break;
/*
* Подключаем страницу новостей
*/

case 'faq':
include './module/pages/home/faq.php' ;
break;
/*
* Подключаем страницу авторизации
*/

case 'login':
include './module/pages/home/login.php' ;
break;
/*
* Подключаем главную страницу по умолчанию
*/

default:
include './module/pages/home/index.php' ;
break;
}

$content = ob_get_contents();
ob_end_clean();
/*
*Подключаем главный шаблон
*/

include './skins/index.tpl';

главное в оригинале нет таких ошибок а у меня вылазиют ((

Спустя 3 минуты, 1 секунда (14.06.2011 - 20:14) sharki написал(а):
Domin
Всё это можно заменить, но я бы допилил как надо, но идею тебе дал
<?php
/*
* Устанавливаем кодировку и уровень ошибок
*/

header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL);
ini_set('session.cookie_httponly',1);
/*
* Установка ключа доступа к файлам
*/

define('REALM_KEY', true);
/*
* Подключаем конфигурационный файл
*/

include './config.php';
/*
* Получаем файл переменных
*/

include './variables.php';
/*
* Подключаем файл общих функций
*/

include './libs/default.php';

ob_start();
session_start();
/*
* The switch of modules
* Переключатель страниц
*/

if(!empty($GET['page'])) {
include './module/pages/home/'.$GET['page'].'.php' ;
}
else {
include './module/pages/home/index.php' ;
}

$content = ob_get_contents();
ob_end_clean();
/*
*Подключаем главный шаблон
*/

include './skins/index.tpl';

Спустя 1 минута, 46 секунд (14.06.2011 - 20:16) alex12060 написал(а):
sharki

Remote file inclusion?

Domin

Все правильно, для этого буферизация вывода существует.

Спустя 1 минута, 30 секунд (14.06.2011 - 20:17) sharki написал(а):
alex12060
Яи говорю допиливать надо, там сделать проверку на существования такого файла, проверить регулярками и т.п, и не писать целую кучу всякого

Спустя 4 минуты, 14 секунд (14.06.2011 - 20:22) Domin написал(а):
sharki спс тебе за сзатие кода, но проблема осталась и таким методом она не уйдет (((

Спустя 6 минут, 13 секунд (14.06.2011 - 20:28) sharki написал(а):
Поменяй местами, и удали пробелы или еще чего, чуть выше
session_start();
header("Content-Type: text/html; charset=utf-8");

Спустя 3 минуты, 34 секунды (14.06.2011 - 20:31) Domin написал(а):
sharki а смысл? толку не будет 100%, да и как я только не пробывал=)

Спустя 5 минут, 30 секунд (14.06.2011 - 20:37) sharki написал(а):
Domin
хм, ну тебе alex12060 правильно сказал, тебе надо искать где у тебя инфа первой выводится...

Спустя 4 минуты, 19 секунд (14.06.2011 - 20:41) alex12060 написал(а):

include './config.php';
/*
* Получаем файл переменных
*/

include './variables.php';
/*
* Подключаем файл общих функций
*/

include './libs/default.php';


Ищи там все то, что может намекнуть нам на вывод заголовков.

Спустя 2 минуты, 59 секунд (14.06.2011 - 20:44) neadekvat написал(а):
Domin, приведи полный текст ошибок - там есть информация о том, где заголовок уже отправлся и где его пытаются отправить повторно.

Спустя 3 минуты, 11 секунд (14.06.2011 - 20:47) Domin написал(а):
sharki нигде из подключаемых страниц не прописан заголовок и начало сессии...
alex12060 прописано только это как в статьях твина.

/*
* Генерация страницы ошибки при доступе вне системы
*/

if(!defined('REALM_KEY'))
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('./404.html'));
}

neadekvat все на той странице. вот все пути и строки...

(output started at Z:\home\mvc.ru\www\index.php:1) in Z:\home\mvc.ru\www\index.php on line 10
(output started at Z:\home\mvc.ru\www\index.php:1) in Z:\home\mvc.ru\www\index.php on line 31

Спустя 2 минуты, 7 секунд (14.06.2011 - 20:49) neadekvat написал(а):
Сохрани файлы в кодировке UTF-8 without BOM, у тебя, похоже в UTF-8 with BOM.
Ну или перед открывющимся <?php все-таки есть пробел или пустая строка. Файла мы тут не видели.

Спустя 8 минут, 25 секунд (14.06.2011 - 20:58) Domin написал(а):
neadekvat с кодировкой проблема ушла спс, а вот сессии нет ((

Спустя 2 минуты, 39 секунд (14.06.2011 - 21:01) Domin написал(а):
neadekvat спс все дело было в кодеровке =)) ппц говорили мне что с ютф-8 траблы бывают =)

Спустя 2 часа, 41 минута, 20 секунд (14.06.2011 - 23:42) inpost написал(а):
Domin
С ютф-8 нет траблов, разве что with DOM включен, но это он невнимательности, лишние 2 или 3 байта дописывает в начало, из-за чего портится. А заголовок не может быть отправлен как раз именно либо эти 2-3 байта вывелось на экран, либо в начале пробел стоит или другой символ вывелся до отправки заголовка.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.