При отображении данных из БД обычно я нахожусь в такой ситуации
- Я на странице A.php, которая показывает данные из БД,
- пользователь выполняет какое-либо действие (например, редактирование / удаление и т. Д.), И страница B.php загружается для выполнения действия,
- как только страница B выполнила действие, перенаправляет браузер на страницу A,
- страница A автоматически перезагружается во время шага (3) , поэтому она показывает обновленную ситуацию с данными
Чтобы перенаправить страницу B на страницу A, я использую простой PHP
header("Location: " . "A.php", TRUE, 302);
Это хорошо работает во всех ситуациях, за исключением случаев, когда страницы A.php выводятся в <iframe>
: в таком случае он не перезагружается (шаг 4 не выполняется).
Кажется, что это происходит только в IE7 (не знаю о IE8), он отлично работает на FF / Safari.
И только при использовании <iframe>
, если страница A.php не находится в <iframe>
, она обновляется также в IE7.
Чтобы решить эту проблему, я просто добавил пару заголовков на страницу A.php, чтобы она не кэшировалась:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
Но мне было бы любопытно, могли ли вы столкнуться с такой же проблемой в прошлом, и если бы вы могли дать мне несколько советов по этому поводу?