2010-08-28 3 views
4

J'ai un site Web de petites annonces, et lors de la publication d'un nouvel utilisateur classé remplir un formulaire hors cours. Ensuite, ils cliquent sur le bouton «Soumettre», et une page «Vérifier» s'affiche, affichant ce qu'ils ont rempli, et si cela semble bien, les utilisateurs cliquent sur le bouton «OK» et le classement est affiché."Attention: la page a expiré" erreur dans IE lorsque vous appuyez sur "retour" bouton

Voici un court exemple:

<form action="verify.php" name="main_form" etc 

Puis, à partir verify.php si l'annonce semble bon, ils ont frappé OK, et il est affiché. Cependant, ici ils ont la possibilité de cliquer sur "retour" pour changer quelque chose, où est mon problème.

Maintenant, en bas de la main_form, j'ai un outil de téléchargement de fichiers, qui actualise la page pour chaque téléchargement. C'est ce qui cause le problème. Cependant, il est trop tard pour que je le change en un fichier non-rafraîchissant-upload maintenant (ajax par exemple).

De toute façon, le problème est que SI l'utilisateur a téléchargé un fichier et soumet la page, la page de vérification s'ouvre. Donc, à partir de là, le bouton Précédent n'affiche qu'un "Avertissement: la page a expiré" au lieu d'afficher le formulaire avec les images téléchargées.

Cependant, les utilisateurs peuvent appuyer sur F5 (actualiser) pour actualiser le navigateur et le formulaire apparaîtra à nouveau tel qu'il était, mais ce n'est pas une bonne solution.

Comment puis-je résoudre ce problème?

Et comment les autres navigateurs n'ont-ils pas ce problème, ils retournent en fait et affichent la forme complète avec les images?

Aussi, bien sûr, si aucune image n'est téléchargée, le bouton de retour fonctionne bien dans IE.

Si vous avez besoin de plus d'entrée laissez-moi savoir ...

BTW; PAS TESTÉ EN IE8 ENCORE.

+0

Veuillez indiquer un code pour l'uploader de ce fichier. –

Répondre

4

voir: Chris Shiflett: How to Avoid "Page Has Expired" Warnings:

Recap

Pour éviter « la page a expiré » avertissements, mis à session.cache_limiter privé, et assurez-vous que toute forme en utilisant la méthode POST soumet à un traitement intermédiaire page qui redirige l'utilisateur vers une URL différente.

1

N'utilisez simplement pas verify.php, mais faites tout cela sur la même page.
http://en.wikipedia.org/wiki/Post/Redirect/Get

+0

Cela ne va-t-il pas aussi afficher un avertissement même si c'est sur une page? Je veux dire, la page est toujours soumise à elle-même, et revenir en arrière affichera probablement le message d'avertissement à nouveau ... –

+0

@Camran si vous faites une redirection après un post réussi (comme vous devriez) - pas –

Questions connexes