У меня есть одна страница в моей панели управления, которой нужен секретный код для
доступ.
Моя последовательность для этого:
- перейти на «страницу запроса секретного кода» с параметром, к какой странице я хочу получить доступ.
- проверьте секретный код, если он правильный, затем заполните переменную сеанса "хэшированным именем страницы"
- перенаправить на страницу, к которой я хочу получить доступ.
- эта страница проверяет "хешированную сессию", совпадают или нет с этим "именем страницы"
- если совпадают, очистить сеанс и показать всю страницу, если несоответствие, затем перенаправить на начальную страницу.
Проблема в том, что на шаге 4 страница иногда читается в конце сеанса
Обновить. иногда это не показывает никакой ценности, но много раз это показывает
правильное значение, и если я обновлю страницу, сеанс по-прежнему
исправить хешированные данные (на шаге 5, если совпадение, я уже очищаю сеанс
переменная), как?
я пытаюсь изменить переменную сеанса с записью данных с помощью mysql, но
я получил тот же результат. phpmyadmin показывает уже установленную запись, но
на странице нет набора данных. а в противном случае после удаления записи
страница по-прежнему показывает предыдущее значение записи.
это значит проблема с кешем? я также сделал заголовок без кеша
такие как:
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
но все тот же результат, который я получил. Любое предложение, ребята?
обновления: если я продолжаю обновлять страницу, возможно, после обновления 3 или 5 она показывает правильное значение. как сделать это в реальном времени? Итак, если сеанс установлен, страница может непосредственно проверить установленное значение, а если сеанс очищен, значит, страница запросит секретный код .?