У меня есть одна веб-страница (назовем это A.html). A.html имеет некоторый javascript, который переключает страницу на динамическую php-страницу (назовем ее B.php), используя простой document.location = "B.php" . B.php запускает запрос mysql на основе файлов cookie, которые он видит, и возвращает результат, основанный на переменной mysqli-> disabled_rows. Однако каждый раз, когда страница переключается на mysqli-> disabled_rows, равна 0, хотя таблица mysql изменяется так, как и должна. Интересно, что когда я иду прямо в B.php, используя строку URL (или обновляю страницу), тогда mysqli-> disabled_rows равен 1, как и положено.
Глядя на wireshark, единственное различие между двумя запросами GET заключается в том, что второй (не javascript) имеет строку с Cache-Control: max-age = 0 . Кто-нибудь знает, почему это повлияет на что-нибудь, и если есть способ, которым я могу это исправить?
РЕДАКТИРОВАТЬ: Вот код
$req = $mysqli->prepare('update users set sts=NOW() where i=? and sid=? and sip=? and NOW()-sts <= '.$authentication_timeout.';');
if ($mysqli->error) {
log_mysql_error($mysqli);
die('Unexpected error:'.$mysqli->error);
}
$req->bind_param('sss',$uid,$sid,$_SERVER['REMOTE_ADDR']);
$req->execute();
print $mysqli->affected_rows;
$req->close();