Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Непонятный второй запрос
Форумы портала PHP.SU » » Вопросы новичков » Непонятный второй запрос

Страниц (1): [1]
 

1. lamozavrik - 05 Июня, 2012 - 13:39:39 - перейти к сообщению
Всем привет. Второй день я прост о в недоумении. Есть простой до ужаса скрипт:
PHP:
скопировать код в буфер обмена
  1.  
  2. if(!$_SESSION['aaa'] or $_SESSION['aaa'] < 1){
  3.         $_SESSION['aaa'] = 0;
  4. }
  5. $_SESSION['aaa'] += 1;
  6. echo $_SESSION['aaa'];
  7.  

Всё, больше в нем ничего нету.

То есть при открытии или обновлении странички переменная увеличивается на 1. Так вот, во всех браузерах так и есть, но в хроме она почему то увеличивается на 2. Как это так? Смотрел в инструментах разработчиков, запрос посылается один. В чем проблема?
Заранее спасибо.
2. avtor.fox - 05 Июня, 2012 - 13:50:01 - перейти к сообщению
Ахереть. Извиняюсь Улыбка

У меня хром вообще сессии не сбрасывает. Хмм.
А так код работает.
Может быть изменить одну строку вот так? -
3. lamozavrik - 05 Июня, 2012 - 13:58:18 - перейти к сообщению
avtor.fox пишет:

Может быть изменить одну строку вот так? -

Это не имеет значения, как плюсовать к переменной, так, как в скрипте, или ++. Просто хром почему то делает два запроса, а почему, вот это мне и хочется выяснить.
4. avtor.fox - 05 Июня, 2012 - 14:01:49 - перейти к сообщению
lamozavrik пишет:
как плюсовать к переменной

Это да, но ей богу, мой хром делает 1 запрос.
5. Данил_123 - 05 Июня, 2012 - 14:15:41 - перейти к сообщению
что вы хотели передать этой строкой
PHP:
скопировать код в буфер обмена
  1. if(!$_SESSION['aaa'] or $_SESSION['aaa'] < 1){
  2. // могу предположить, что $_SESSION['aaa'] это число
6. lamozavrik - 05 Июня, 2012 - 14:21:05 - перейти к сообщению
Данил_123 пишет:
что вы хотели передать этой строкой
PHP:
скопировать код в буфер обмена
  1. if(!$_SESSION['aaa'] or $_SESSION['aaa'] < 1){
  2. // могу предположить, что $_SESSION['aaa'] это число


Если нету $_SESSION['aaa'] или $_SESSION['aaa'] меньше 1, то присвоить ей значение 0. Да это вообще тестовый скрипт, который показывает, что хром почему то два раза посылает запрос.
(Добавление)
Вообщем понял почему так. Все дело в том, что в документе нет хтмл кода. Стоило сделать валидный хтмл и все стало норм.
7. Данил_123 - 05 Июня, 2012 - 14:30:56 - перейти к сообщению
попробуйте isset, хотя у меня оба варианта работают нормально
8. lamozavrik - 05 Июня, 2012 - 14:31:54 - перейти к сообщению
Разобрался. Дело в том, что в документе нет хтмл кода. Стоило сделать валидный хтмл документ и все заработало нормально.
9. biohazardo - 09 Июля, 2012 - 23:26:02 - перейти к сообщению
У меня тоже так было. Стояло расширение WebBug (или типа того). Оно и делало второй запрос. Стер к черту его, сейчас норм. Возможно тоже беда с расширениями.

 

Powered by ExBB FM 1.0 RC1