Page 1 sur 1

retour et rafraichissment page précédente

Posté : 28 juin 2006, 14:04
par ahmet
Bonjour, j'ai un autre problème.

j'utilise un

Code : Tout sélectionner

history.back();
pour retourner à la page précédente après l'appli de la page php mais lorsque que je retourne à la page précédente, j'ai un message:
Avertissement : expiration du délai pour cette page
et lorsque je fais F5 il me réactualise la page et mon insertion a marché

pourkoi j'ai ce message et pourkoi il ne me réactualise pas tout seul la page ??

j'ai essayé avec un header location ...
$url = $HTTP_REFERER;
//redirection vers cette url
header ("Location: $url");
mais le problème est que l'url qui appelle le fichier php d'inseertion n'est pas la bonne url . donc il ne retournait pas à la page exact.

C'est pour ca que j'ai essayé avec un fonction javascript ...

Quelqun pourrait m'aider

Posté : 28 juin 2006, 14:32
par Ryle
Le message "expiration du délai" apparait parce que pour arriver sur cette page, tu as du utiliser un formulaire et envoyer les données avec la méthode post.
Par sécurité, es navigateurs demandent par conséquent automatiquement si tu souhaites renvoyer les données qui t'ont permis de générer cette page. (Typiquement si tu viens de valider un payement en ligne, il ne faudrait pas que tu re-payes à chaque fois que tu actualises ou revient sur la page ;))

Fais une recherche sur le pattern PRG (post-redirect-get) sur le forum ou même sur google, tu verras comment construire tes pages pour éviter le risque de multi-postage involontaire et du coup le message de confirmation :)

Posté : 28 juin 2006, 14:40
par Invité
je chercher mais je ne trouve pas comment eviter ce multipostage

t'aurais pas une idée ????

Posté : 28 juin 2006, 14:59
par Ryle
En cherchant sur le forum ou sur google les principes de fonctionnement du pattern PRG :P

En gros, une fois que tu as fait ton traitement en post, tu fais un header/sendRedirect/Autre pour revenir sur la même page ou sur une autre en get. Ainsi l'actualisation ou le retour recharge le get et ne reposte pas les données :)

Posté : 28 juin 2006, 16:12
par Invité
je trouve pas quelqu'un pourrait m'aider ?????