[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сессионные чудеса
Владимир55
Сайт нормально работает уже давно, как вдруг выяснилось, что при просмотре нескольких его вполне конкретных страниц браузерами Опера и Яндекс дизайн разваливается и выводится несколько сообщений, связанных с сессиями.

Первое сообщение такое:
Цитата
Warning: session_start(): The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in /home/b/rubric.php on line 4
Это самое начало скрипта и в нем коды такие:

<?php

ob_start();
session_start();


Поскольку браузер только открылся, то вопрос длины сессии отпадает.

Решил посмотреть саму сессию и дописал:

echo "<br />session_id " . session_id(); 


Получаем:
Цитата
session_id 864d8a84234997f878d0065d52797b47

В Хроме, Нихроме, Сафари, Мозилла и Maxthon все работает нормально. Проблема только в Опера и Яндексе.

Что это может быть и где искать причину?
chee
Почистите куки для сайта(в браузере), можно полностью можно конкретно PHPSESSID для этого сайта.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Владимир55
Почистил - бесполезно.
sergeiss
А если просто поменять местами функции?

ob_start() работает с буфером вывода. А к моменту вызова session_start() все равно ничего не должно быть выведено. Но возможно, что ob_start() как-то мешает.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
chee
Владимир55, у могу предположить, только то что вы на устанавливали дополений в браузер или сами модифицируюте PHPSESSID откуда то из кода, либо js, либо php.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Владимир55
Цитата
Но возможно, что ob_start() как-то мешает

Убрал его - не повлияло.

Цитата
сами модифицируюте PHPSESSID откуда то из кода, либо js, либо php.

Что-то в этом роде может быть. Но как найти?

Есть и js, и php. Как протестировать их влияние?
Быстрый ответ:

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