Почему значение файла cookie, который я устанавливаю (строка), увеличивается на единицу при установке из $ _GET?

0

Когда я устанавливаю cookie на две числовые строки, используя переменную, заданную $ _GET, она сохраняется как одно число выше в cookie. Но переменная на самом деле правильная! Это происходит в Chrome, но не в Firefox. Я на сервере WAMP и получаю доступ локально.

Если я установил test.php? A = 07

$val = $_GET['a'];
setcookie('t', $val, time() + (86400 * 30), '/');
var_dump($val);

возвращается

string '07' (length=2)

Здесь, где вещи сходят с ума. В другом скрипте:

var_dump($_COOKIE['t']);

возвращается

string '08' (length=2)

Как в 90% случаев. Если я установил куки-кучу, иногда он вернется "07". Я проверил сам файл cookie и получил его как большее число. Так что это не извлечение. Он также работает с другими номерами.

Если я установлю переменную в скрипте, это не произойдет.

$val = '07';
setcookie('t', $val, time() + (86400 * 30), '/');
var_dump($val);

Работает отлично. Как делает:

setcookie('t', '07', time() + (86400 * 30), '/');
var_dump($val);

Что бы это могло быть?

EDIT: приведенный выше код - это полные файлы. Единственное, чего не хватает, это открытие

  1. Сервер WAMP запущен.
  2. Посетите localsite/test.php? A = 07 в Chrome
  3. Просмотр и запись дампа переменной (в этом случае "07").
  4. Посетите localsite/test2.php в Chrome. Это состоит из: <?php var_dump($_COOKIE['t']);
  5. Просмотр и запись дампа переменной (в этом случае "08").
  6. Посмотрите на cookie с помощью настроек Chrome, чтобы увидеть, что это не ошибка получения или отображения. Cookie t = '08 '.

WAMP Server 2.4 Apache 2.4.4 PHP 5.4.12

Теги:
cookies
google-chrome
wamp

1 ответ

0
Лучший ответ

Я понял. Я должен был больше обратить внимание на:

Это происходит в Chrome, но не в Firefox.

Это вызвано расширением Chrome. Я забыл, что у меня было расширение, оставшееся от предыдущего проекта. Это был один из этих расширений "следующей страницы". Например, вы можете нажать кнопку "Далее", чтобы перейти с сайта website.com/img1.jpg на website.com/img2.jpg и так далее. Должно быть, это была предварительная загрузка следующей страницы в последовательности. Это изменило переменную GET и вызвало изменение файла cookie. Удалено расширение, проблема исчезла. Столь разочарование от такой простой вещи!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню