![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| kentnsk |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.10.2007 Репутация: нет Всего: нет |
Вот собственно код:
файл login.php (авторизация):
файл auth.php (проверка на авторизованность, для доступа к запароленной части сайта):
запароленный файл index.php:
ну и выход logout.php:
Вот... Проблема заключается в том что, скрипт (login.php) не дает авторизоваться второй раз (после выхода logout.php) и пишет ошибку: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by Подскажите пожалуйста в чем может быть проблема? При первой авторизации проблем не возникает. |
||||||||
|
|||||||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
Сделай logout.php так:
у тебя хедер послался, так после этого session_start уже нельзя делать)) Это сообщение отредактировал(а) comcon1 - 10.10.2007, 19:59 |
|||
|
||||
| kentnsk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.10.2007 Репутация: нет Всего: нет |
Тогда получается, что и в файле login.php надо header заменить? так как в файле auth.php тоже стоит session_start() ??
|
|||
|
||||
| kentnsk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.10.2007 Репутация: нет Всего: нет |
Заменил в файле login.php :
Теперь вообще при попытке зайти перекидывает обратно на login.php, пишет Wait for 1 seconds, хотя должен же на index.php ?? Добавлено через 7 минут и 53 секунды В браузере Опера перекидывает нормально, но при загрузке index.php опять пишет ошибку: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
выкидывает в логин - значит ошибка в auth.php, там же у тебя есть header: login.php, если плохо авторизуеццо.
там тоже исправь с метой. Вот весь готовый код клади и будем разбираться дальше. работай. |
|||
|
||||
| kentnsk |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.10.2007 Репутация: нет Всего: нет |
Файл login.php получился следующего содержания:
После ввода логина/пасса выдается следующее: Warning: session_start() [function.session-start]: The session id contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in /login.php on line 35 Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent in /login.php on line 35 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent in /login.php on line 35 Warning: Cannot modify header information - headers already sent in /login.php on line 36 Wait for 1 seconds после чего спустя секунду перекидывает на index.php:
auth.php
и видим следующие ошибки: Warning: session_start() [function.session-start]: The session id contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in auth.php on line 16 Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent in /auth.php on line 16 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent in /auth.php on line 16 Wait for 1 seconds Опять же ждем 1 секунду и попадаем обратно на login.php, прямо по кругу ходим..(( |
||||||
|
|||||||
| comcon1 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
Блин, вот бред. Слухай, я всегда session_start(); первой строкой в PHP-файле делаю... Это гарантированно избавляет от ошибок типа
Вот смотри мой login.php. На моем рабочем сайте, попробуй разберись. Я чо-т в твоем уже нихрена не понимаю. Пока сделай везде session_start() в начале файла. Кол-во ошибок уменьшится, попробуем поразбираться дальше. Просто щас надо качать твои файлы, устанавливать их себе и играться, я сейчас не могу это себе позволить.
Это сообщение отредактировал(а) comcon1 - 11.10.2007, 00:30 |
||||||
|
|||||||
| kentnsk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.10.2007 Репутация: нет Всего: нет |
Перенес session_start() в начало файлов, ошибка не разрешилась....
При входе с другого компьютера авторизация и выход проходили без ошибок (тестировал несколько раз), но при попытке ввести не верный лог/пасс, скрипт грамотно обработал входные данные и не пустил зайти, следом ввел правильные логг/пасс и опять скрипт показал ошибки: Warning: session_start() [function.session-start]: The session id contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in /login.php on line 35 Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent in /login.php on line 35 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent in /login.php on line 35 Warning: Cannot modify header information - headers already sent in /login.php on line 36 Wait for 1 seconds HELP! |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
Слухай, у меня такое ощущение, что устанавливая куки с именем session_name() равное session_id() ты делаешь имя сессии состоящим из одних цифр. Это нельзя. Делай время жизни сессии командой:
session_set_cookie_params - переделай и скажи, чо вышло) А вообще вот еще есть баг, но навряд ли это к тебе. PHP bug в тему посмотри, мож у тебя это?? там вот такой код выдавал твою ошибку...
Это сообщение отредактировал(а) comcon1 - 11.10.2007, 09:57 |
|||
|
||||
| kentnsk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.10.2007 Репутация: нет Всего: нет |
Самое интересное что в браузере Opera все работает замечательно, а в IE выдаются ошибки((
echo session_name(); выдает PHPSESSID пробовал session_name("SID"); setcookie(session_name()); или setcookie("SID"); все равно ошибки остаются |
|||
|
||||
| kentnsk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.10.2007 Репутация: нет Всего: нет |
Поставил:
session_set_cookie_params(time()+7200); session_start(); setcookie(session_name(),session_id()); Теперь и в IE все работает!))) Огромное спасибо comcon1!! |
|||
|
||||
| anti_snayper |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 13.2.2007 Репутация: нет Всего: нет |
У меня нечто подобное.
Допустим я авторизируюсь на странице http://localhost/..../history.php?id_grypi=1&id_menu=1 после входа он меня кидает на http://localhost/..../history.php А т.к. вксь сайт динамический, то вся страница сплошь в ошибках. вот часть кода:
а это auhtorization.php
нужно чтобы после входа, пользователь перенаправлялся либо index.php либо оставался на этой же странице но параметры передаваемые через GET не исчезали. в чем ошибка может кто-нить подсказать? Это сообщение отредактировал(а) anti_snayper - 11.10.2007, 19:19 |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |