Empecher le rafraichissement impossible de la page [Résolu]

payetonju 437 Messages postés mercredi 26 septembre 2007Date d'inscription 2 juillet 2014 Dernière intervention - 8 juil. 2009 à 16:24 - Dernière réponse : payetonju 437 Messages postés mercredi 26 septembre 2007Date d'inscription 2 juillet 2014 Dernière intervention
- 10 juil. 2009 à 17:43
Bonjour !

Je developpe un site en PHP, et mon premier moteur de rechercher, qui a l'air de fonctionner correctement... enfin ... pour le moment lol

Je tappe un mot clé, ça me renvoi des resultats, je clique sur le resultat et ça m'ammene sur la page voulue, mais si ce n'est pas ça la page voulue, le client va vouloir cliquer sur le bouton de retour arriere ayant comme lien
Javascript:history.go(-1)


Enfin que ce soit ça ou retour arriere de windows c'est pareil, ça me met une vielle page vide "La page Web a expiré"

Et quand je fais F5 ça me met une alerte JS qui me dit :

"pour actualiser cette page, IE doit de nouveau envoyer les informations que vous avez entrées.

Si vous faisiez un achat, cliquez sur Annuler pour éviter de répéterla transaction. Sinon cliquez sur Recommencer pour réafficher la page Web."

donc ma question est: COMMENT DETOURNER SA SVP ???
merci
Afficher la suite 

11 réponses

Répondre au sujet
payetonju 437 Messages postés mercredi 26 septembre 2007Date d'inscription 2 juillet 2014 Dernière intervention - 10 juil. 2009 à 17:43
+3
Utile
bon bin en fait je viens de trouver la solution de mon problems, si ça interesse quelqu'un :

session_cache_limiter('public, must-revalidate');


voilà merci quand meme a vous qui m'avez répondu ;)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de payetonju
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 8 juil. 2009 à 19:43
0
Utile
Salut,

Passe donc les donnés du formulaire de recherche par get et non par post.
Commenter la réponse de TychoBrahe
payetonju 437 Messages postés mercredi 26 septembre 2007Date d'inscription 2 juillet 2014 Dernière intervention - 9 juil. 2009 à 09:23
0
Utile
faire mon moteur de recherche en GET ?
Mais il y a aurait des tonnes de paramètres !!! Et niveau securite cest bcp plus ouvert nan ?
Commenter la réponse de payetonju
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 9 juil. 2009 à 10:21
0
Utile
«Mais il y a aurait des tonnes de paramètres !!!»
Et alors ça change quoi ? T'as déjà regardé l'url d'une recherche google par exemple ?

«Et niveau securite cest bcp plus ouvert nan ?»
Non, c'est exactement pareil. Dans tous les cas l'utilisateur envoie ce qu'il veut et pas forcément ce que toi tu veux, c'est toujours a toi de tout contrôler côté serveur.
Commenter la réponse de TychoBrahe
payetonju 437 Messages postés mercredi 26 septembre 2007Date d'inscription 2 juillet 2014 Dernière intervention - 9 juil. 2009 à 12:39
0
Utile
Ok je vais essayer merci beaucoup pour ta reactivité ;)
Commenter la réponse de payetonju
Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention - 9 juil. 2009 à 15:47
0
Utile
Bonjour,

Sinon en php tu envoie les header suivants :
<?php
header( "Last-Modified: " . gmdate( "D, j M Y H:i:s" ) . " GMT" );
header( "Expires: " . gmdate( "D, j M Y H:i:s", time() ) . " GMT" );
header( "Cache-Control: no-store, no-cache, must-revalidate" );
header( "Cache-Control: post-check=0, pre-check=0", FALSE );
header( "Pragma: no-cache" );
?>
Le navigateur rechargeras la page si l'utilisateur clique sur le bouton back...

Tonio
Commenter la réponse de Tonio_35
payetonju 437 Messages postés mercredi 26 septembre 2007Date d'inscription 2 juillet 2014 Dernière intervention - 9 juil. 2009 à 15:52
0
Utile
haa merci tonio ça a l'air interessant, mais je ne connais pas ce bout de code.
Tu peux m'expliquer ce que ça fait chaque ligne stp ?

Et je copie colle exactement ce code sur la page de mon moteur de recherche de manière à empecher le rafraichissement de cette page "search.php" quand on retourne dessus ?

Je te remercie
Commenter la réponse de payetonju
payetonju 437 Messages postés mercredi 26 septembre 2007Date d'inscription 2 juillet 2014 Dernière intervention - 9 juil. 2009 à 15:53
0
Utile
(car la méthode GET ne me convient pas trop en fait je suis obligé de changer trop de trucs ... mon patron finira par bouder si je dois "tout" recommencer lol)
Commenter la réponse de payetonju
Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention - 9 juil. 2009 à 16:31
0
Utile
Alors les header doivent etre envoyés avant tout echo... Ils donne au navigateur du client des infos sur la page... Voici ici les infos données :

header( "Last-Modified: " . gmdate( "D, j M Y H:i:s" ) . " GMT" );
Last-Modified: Donne la date de dernière modification de la page, ici on lui indique la date actuelle comme ca il crois qu'il affiche une page qu'il n'as jamais affichée...

header( "Expires: " . gmdate( "D, j M Y H:i:s", time() ) . " GMT" );
Expires: Ici on dis que la page ne changeras pas avant une certaine date... Encore une fois on spécifie la date actuelle pour que le navigateur se dise qu'il devras retélécharger la page a saa prochaine consultation...

header( "Cache-Control: no-store, no-cache, must-revalidate" );
header( "Cache-Control: post-check=0, pre-check=0", FALSE );
Cache-Control: Ici on lui dis de ne pas garder la page en cache (valide HTTP/1.1)

header( "Pragma: no-cache" );
Idem que Cache-Control mais pour HTTP/1.0

Pose ces lignes en haut de ton code avant tout...

Pour plus de détails je te conseille :
http://fr2.php.net/manual/fr/function.header.php

Tonio
Commenter la réponse de Tonio_35
payetonju 437 Messages postés mercredi 26 septembre 2007Date d'inscription 2 juillet 2014 Dernière intervention - 9 juil. 2009 à 16:44
0
Utile
D'accord merci bcp... encore un jour où je me coucherais moi bete.
J'ai du boulot sur toshop là je verrais demain ;)

Merci bcp encore :)
Commenter la réponse de payetonju
payetonju 437 Messages postés mercredi 26 septembre 2007Date d'inscription 2 juillet 2014 Dernière intervention - 10 juil. 2009 à 17:31
0
Utile
Bonjour Tonio !

Comme je t'ai dis hier, j'ai docn testé aujourd'hui, je l'ai bien mis avant tout code HTML et tout echo, mais ça ne change rien.

Quand je sors du moteur de retour et je clique sur précécent ça me mets toujours cette vieille page à 2 euros "La page Web a expiré" arf
Commenter la réponse de payetonju

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.