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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2011, 20:40   #1
KLAXON
Пользователь
 
Регистрация: 17.06.2010
Сообщений: 50
По умолчанию Cannot send session cookie

товарищи, подскажите, что за зверь отправляется до вывода header и в каком месте? %) гугля говорит, что моя проблема может возникнуть исключительно потому, что header() используется после того, как подан первый байт на вывод. не понимаю... где он подан? специально захватил html тегов, чтобы была понятна структура кода. заранее спасибо.

PHP код:
<?php

function last_session($authorized)
{
    
// Функция определения, на какой странице юзер закрыл браузер
}

session_start();

// Если в контексте сессии не установлено имя пользователя, пытаемся взять его из cookies.
if (!isset ($_SESSION['authorized']) && isset ($_COOKIE['authorized']))
{
    
$_SESSION['authorized'] = $_COOKIE['authorized'];
}

// Еще раз ищем имя пользователя в контексте сессии.
$authorized $_SESSION['authorized'];

// Неавторизованных пользователей отправляем на страницу регистрации.
if ($authorized == null)
{
    
header ("Location: auth.php");
    exit();
}
else 
last_session($authorized);

?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Cтраница перенаправления</title>
</head>

<body>
</body>
</html>
KLAXON вне форума Ответить с цитированием
Старый 09.02.2011, 21:12   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Код:
// Функция определения, на какой странице юзер закрыл браузер
Скорее всего здесь
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 09.02.2011, 21:27   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Если кодировка UTF-8 - возможна проблема из-за BOM
Варианты решения описаны в этой теме.
Andkorol вне форума Ответить с цитированием
Старый 09.02.2011, 22:16   #4
KLAXON
Пользователь
 
Регистрация: 17.06.2010
Сообщений: 50
По умолчанию

Цитата:
Сообщение от spein Посмотреть сообщение
Код:
// Функция определения, на какой странице юзер закрыл браузер
Скорее всего здесь
это просто комментарий даже если его удалить и экранировать, соответсвенно, - ничего не изменится
там ничего не выводится. или я ошибаюсь и все равно, даже любой коммент что-то постит?

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Если кодировка UTF-8 - возможна проблема из-за BOM
Варианты решения описаны в этой теме.
увы, windows-1251, в коде выше можно видеть
Код HTML:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
PS код представлен мной "as is", я ничего не сокращал для выкладки на форум и ничего не добавлял. т.е. предполагать, что проблема в чем-то, что я временно удалил - не будем. ошибку пишет на входе в строку старта сессии (Cannot send session cookie & cache limiter) и в строке c header (Cannot modify header information) :/

Последний раз редактировалось KLAXON; 09.02.2011 в 22:21.
KLAXON вне форума Ответить с цитированием
Старый 09.02.2011, 22:27   #5
xen
Пользователь
 
Регистрация: 13.03.2007
Сообщений: 45
По умолчанию

Проблема в BOM, тебе же ссылку дали, пройди по ней почитай - там написано как избавится от BOM. Ну а вообще можно просто в блокноте открыть и выбрать кодировку ANSI.
xen вне форума Ответить с цитированием
Старый 09.02.2011, 22:34   #6
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Присоеденяюсь. С UTF-8 все изменилось
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 09.02.2011, 22:39   #7
KLAXON
Пользователь
 
Регистрация: 17.06.2010
Сообщений: 50
По умолчанию

Цитата:
Сообщение от xen Посмотреть сообщение
Проблема в BOM, тебе же ссылку дали, пройди по ней почитай - там написано как избавится от BOM. Ну а вообще можно просто в блокноте открыть и выбрать кодировку ANSI.
т.е. я правильно понимаю, что пофик указанный мной ниже в html charset=windows-1251? если php вставляется "в голове", то будет по умолчанию utf-8?

Цитата:
Сообщение от KLAXON Посмотреть сообщение
код представлен мной "as is"
я сам запутался и других запутал. в выше указанном коде не хватает первой строки. прошу меня извинить, не проследил, все ли скопировал.

Код HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
если убрать вот это, то скрипт работает.

Последний раз редактировалось KLAXON; 09.02.2011 в 22:58.
KLAXON вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
session в php Delphinchik PHP 0 15.01.2011 12:22
Session обработка адреса Ghennadiy PHP 5 10.01.2011 23:40
Не работает SESSION на localhost Викдон PHP 0 16.04.2010 11:16
Как получить переменные из объекта Session? olgavv JavaScript, Ajax 1 16.03.2010 21:49
Session Shyt PHP 12 15.11.2009 15:52