Avertissement : expiration du délai pour cette page

Salut tout le monde…

J’ai une petite question :

J’ai un site en PHP et quand je clique sur le bouton “précédent” ou “suivant” du navigateur, je me retrouve avec une page blanche avec ce message :

"Avertissement : expiration du délai pour cette page

La page requise a été créée en utilisant les informations fournies dans un formulaire. Cette page n’est plus disponible. Par sécurité, Internet Explorer ne renvoie pas automatiquement les informations vous concernant.

Pour envoyer vos informations à nouveau et afficher cette page Web, cliquez sur le bouton Actualiser ."

D’où vient ce problème et comment le corriger ?

Mozilla.

(Je sais, c’est mal, mais dieu que c’est bon)

de quoi Mozilla ??? Mon navigateur ? Non IE

MOzilla ne changera strictement rien. C’est une page qui est le resultat d’un post de formulaire et il est NORMAL que le navigateur refuse de reposter un formulaire en faisant back ou forward. Sinon tu achetes un truc sur un site, tu fais back pour voir ton panier, ha ben merde tu viens de dedoubler ta commande. Pour poster ENCORE il faut explicitement faire refresh. Et c’est pour tout les navigateurs pareil. En general c’est une mauvaise idee de faire refresh sur ce genre de pages. Ca provoque les posts en doubles par exemple, ou les achats en double ou autres joies a la con. La solution consiste pour celui qui cree les page de faire un redirect apres un post, pour forcer un get, mais ca double la charge sur le serveur pour chaque post… il faut choisir.
Ce message a été édité par GloP le 03/09/2003

hu !
faut mettre GET comme methode et pas POST
enfin je me plante peut etre

Non je ne pense pas que ce soit çà puisque beaucoup de sites utilisent les POST…et pourtant çà ne fait pas çà. Par exemple, CAFZONE doit utiliser du POST mais çà ne fait pas ce message

 

nan c du GET, on peut voir les infos dans la barre d adresse
je crois qu on en a beosin pour gerer les sessions
d ailleurs la plupart des sites font du GET et pas du POST

dsl GloP si je dit des conneries
Ce message a été édité par Epsos le 03/09/2003

Ben oui, de IE non mais !!!

De toute façon, ça vient juste de la configuration du navigateur, puisque comme il le dit « Par sécurité… »

Donc éventuellement tu diminues ton niveau de sécurité dans le navigateur, mais c’est pas une bonne idée :-p

Soit tu utilise pas les bouttons suivant/précédent , c’est pas une meilleure idée …

En fait, techniquement ça vient du fait que, pour en arriver sur la
page (la toute dernière) t’as du passer par un formulaire, et un click
sur un bouton « submit »… Ce qui a envoyé les informations du formulaire
au serveur, qui a répondu par la page résultante.
Cette page étant générée suite à l’envoit d’information, le navigateur
ne réenvoit pas ces informations si tu reviens par précédent , pour
éviter notament aux utilisateurs « débutants » (restont poli :-p) de
valider 50 fois les informations du formulaire .

Imagine que c’est une
commande chez amazon pour quelques milliers d’euro, validé plusieurs
fois, ça risque de créer plusieurs fois la commande, et faire mal au
portefeuille…

Et si tu fais F5 pour rafraichir la-dite page, il va te mettre un autre
message du style :« Cette page nécéssite l’envoi d’information, voulez
vous les réenvoyer ? », pour être vraiment certain que tu veux revalider
le formulaire en question…

Et pas moyen d’y échapper (enfin, si y en a qui savent comment, dite le nous :P)

Edit : Oups, avait pas vu qu’il y avait autant de réponse… ça a du arriver pendant que j’écrivais (ouais je suis pas un rapide) désolé si je radote :wink:
Ce message a été édité par mccricri le 03/09/2003

[quote]nan c du GET, on peut voir les infos dans la barre d adresse
je crois qu on en a beosin pour gerer les sessions
d ailleurs la plupart des sites font du GET et pas du POST

dsl GloP si je dit des conneries
Ce message a été édité par Epsos le 03/09/2003[/quote]Nan, quand tu regarde le source de la page pour poster, la ou y a le forumlaire, il y a bien la méthode POST dans le FORM.

Mais comme c’est glop qui l’a fait, c’est bien fait, alors il doit
surement refaire une redirection après avec les bons paramètres dans
l’url (c’est pour ça que tu le vois en haut). Bref, ça fait comme il
l’a expliqué lui-même…

Ezeckiel, pourrais tu supprimer quelques posts à toi ?? ca fait serieusement tache là

Et eviter les doubles posts aussi, le petit bouton Editer est super pratique quand on veut rajouter quelquechose à son dernier post

Excuses-moi donjon, je ne sais pas du tout pourquoi çà à fait çà !

Sinon, je ne pense pas que çà vienne du browser puisque il y a que sur un site que çà fait çà…


Merci GLOP.

je vais voir ce que je peux faire. Mais toi t’as fait comme çà ?
Ce message a été édité par EzecKiel le 03/09/2003

C’est simple… il faut séparer la page de traitement de la page de confirmation. Suppose que tu fasse une recherche…

dans la page qui recoit le résultat du formulaire, tu trouves tous les ID des objets qui correspondent à la recherche… et tu appelles une page suivante avec la méthode GET. la t’auras pas de problèmes…