Forum Webscript.Ru
Программирование => PHP => Тема начата: Alexandr от 20 Июля 2004, 08:37:40
-
Как учесть то что над страницей может сессия поработать?
Я считаю так:
//Загружаем шаблон
ob_start();
include \'includes/templates/right_frame.php\';
header("Content-Type: text/html; charset=windows-1251");
$l=ob_get_length();
header(\'Content-Length: \'.$l);
ob_end_flush();
но в right_frame.php у меня стартует сессия и все ссылки и формы добабавляются SID\'ом
А происходит это после ob_end_flush();
Т.о. вот что можно наблюдать при запросе 1-й раз
GET /right.php?1_4 HTTP/1.1
.......
HTTP/1.1 200 OK
Set-Cookie: acat=065143aff2362e9fe6bba97310eb360a; path=/
......
Content-length: 21084
....
А во-второй раз уже всё ок:
GET /right.php?1_4 HTTP/1.1
Cookie: acat=065143aff2362e9fe6bba97310eb360a
HTTP/1.1 200 OK
Content-length: 21082
Т.е. правильно посчитал размер оба раза (правда я не знаю откуда берутся 2 байта в первый раз), но в первый раз после расчёта сессия добавила ещё SID, т.о. увеличив размер страницы и ес-но страница вся не загружается....
Вопрос: как посчитать размер страницы с учётом сессии?
-
отключить автоматическое добавление SID , добавлять его вручную и потом считать размер.
-
Макс:
добавлять его вручную
не, Макс, не пойдёт... геморно больно....
лучше просто не вставлять Content-length, если способа попроще не найдётся
-
А можно узнать стартанула сессия или нет?
-
???
не понял, ты же сам пишешь в коде
session_start(); и так далее.
Сам знаешь, где у тебя сессия стартует.
[loading php_telepat.dll]
if (isset($_SESSION)) { } // registrer_globals = Off
[/loading]
-
я хочу универсальный модуль сделать, который подключается на каждой странице и он должен определить если ссессия стартанула, то не считаем размер страницы, иначе считаем....
так что я нормально вопрос задал
Макс:
if (isset($_SESSION)) { } // registrer_globals = Off
А вот за это спасиба.
А вот ты указал Макс:
// registrer_globals = Off
Это к чему? Будет работать тока если registrer_globals = Off?
Или что?
-
Alexandr:
Это к чему? Будет работать тока если registrer_globals = Off?
Или что?
просто в случае register_globals = On надо учесть что могут в URL-е добавить _SESSION :
http://example.com/script.php?_SESSION[]=sds
-
понял спасибо, Макс.