Страницы: 1
Наткнулся на баг.
К примеру есть страничка, с таким куском кода:
<script language=""> function onload_() { blablabla=1; } </script> <body onload="onload_()"> <?php session_start(); $_SESSION['time'] = time(); print_r($_SESSION); ?> </body>
И другая страничка:
В первом случае print_r выведет реальное время, а вот на второй страничке уже с небольшой дельтой.
Это происходит, потому что onload не понятно по каким причинам перезагружат страничку еще раз, в следствие чего переменные сессии генерятся еще раз.
И еще: при повторной загрузке первой страницы теряются переменные $_POST.
Считаю, что это очень большой баг.
ЗЫ: Сорри, не знал куда бросить тему. Искренне надеюсь, что модер кинет ее в нужный раздел.
Отсутствует
не просёк в чём проблема. onload страницу не перегружает. если у тебя другие данные - приведи http логи.
!
Отсутствует
==> Разработка
Отсутствует
alik@dev:~/public_html/test$ cat index.php <?php session_start(); ?> <body onload="view_pic()"> <script language="javascript"> function view_pic() { document.pic.src='index2.php'; } </script> <?php $_SESSION['time'] = time(); print_r($_SESSION); for($i =0; $i < 100; $i++) { for($j = 0; $j < 500; $j++) echo "bla"; echo "<br />"; } ?> <img name="pic" src=""> </body> alik@dev:~/public_html/test$ cat index2.php <?php session_start(); print_r($_SESSION); ?> alik@dev:~/public_html/test$
Вместо
for($i =0; $i < 100; $i++) { for($j = 0; $j < 500; $j++) echo "bla"; echo "<br />"; }
можно вставить любой текст, который будет генериться больше 1 секунды.
10.100.111.22 - - [20/Oct/2006:20:09:48 +0400] "GET /~alik/test/index.php HTTP/1.1" 200 210 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
10.100.111.22 - - [20/Oct/2006:20:09:49 +0400] "GET /~alik/test/index.php HTTP/1.1" 200 210 "https://localhost/~alik/test/index.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
10.100.111.22 - - [20/Oct/2006:20:09:49 +0400] "GET /~alik/test/index2.php HTTP/1.1" 200 47 "https://localhost/~alik/test/index.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
Отсутствует
alik
Минимально проблемный код мне удалось сократить до 12 символов:
Из чего становится понятно, откуда ноги у лишнего запроса растут - Firefox просто пытается подгрузить картинку, а т.к. атрибут src пустой, то он берёт адрес текущей страницы (по аналогии с пустым action="" у форм).
Достаточно просто убрать атрибут src, и второго запроса идти не будет.
Отсутствует
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
Страницы: 1