2010-10-13 4 views
1

J'ai une application PHP qui fonctionne bien dans tous les navigateurs sauf Internet Explorer.Pourquoi le bouton Précédent est-il rompu dans Internet Explorer pour une application PHP, mais fonctionne dans tous les autres navigateurs?

L'application génère des rapports basés sur les données MySQL. Certains champs de chaque rapport sont cliquables et redirigent l'utilisateur vers une autre page/rapport après le POST en utilisant l'appel de l'en-tête PHP().

Dans Safari, Firefox, Opera, etc. lorsque l'utilisateur clique sur le bouton Retour, il est ramené à la page/au rapport précédent. Dans Internet Explorer, ce comportement est rompu et une erreur "La page Web est expirée" s'affiche.

Je ne m'inquiète pas de fournir des données périmées lorsque j'utilise le bouton Précédent dans IE.

Y at-il un paramètre que je peux modifier dans IE pour permettre ce comportement, ou une directive HTML/PHP que je peux utiliser?

+0

est-ce pas ce que [Post/Redirect/Get] (http://en.wikipedia.org/wiki/Post/Redirect/Get) est destiné à résoudre ? (Pas sûr moi-même - d'où le commentaire plutôt que de répondre!) –

Répondre

2

Non. Firefox, Chrome, etc. implémentent ici une fonctionnalité spécifique qui note que la dernière page de l'historique du navigateur ne compte pas vraiment. IE n'a apparemment pas cette fonctionnalité et ne sait pas qu'une telle fonctionnalité pourrait exister, donc il n'y a aucun moyen d'essayer de l'obtenir. (Des versions plus récentes peuvent implémenter un tel comportement, cependant, Incertain.)

Comme ce n'est vraiment pas critique, on dirait que ceux qui utilisent des navigateurs plus anciens auront juste à faire face à une expérience moindre. Pardon!

0

Essayez ceci:

<?php header('Cache-Control: max-age=900'); ?> <html>