<?php
if (!empty($_POST['text'])) {
header('Location: /test.php');
setcookie('testCookie', '1', time() + 3600, '/');
exit();
}
setcookie('testCookie', '0', time() + 3600, '/');
?><form action="" method="post">
<input name="text" type="text" value="text">
<button type="submit">submit</button>
</form>
testCookie: <?= $_COOKIE['testCookie'] ?? 'null' ?>
Логика кода: отправляем форму, браузеру передаём куку, страница обновляется (через редирект) и отображается содержимое куки ("testCookie: 1").
Но поведение в Google Chrome Android иначе. Вместо "testCookie: 1", отображается "testCookie: 0".
Причина: судя по логам, этот браузер обращается к странице больше двух раз: сначала отправляя форму, затем получая редирект и ещё третий раз к этой же странице (следуя редиректу). Хотя консоль Google Chrome Android показывает, что только два запроса.
В режиме инкогнито такой "фичи" нет и всё как надо. Так же, если редирект на другую страницу, например /test.php?123456789 - тоже всё норм.
Что это?