Empecher le rafraichissement impossible de la page

Résolu
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 - 8 juil. 2009 à 16:24
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 - 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

11 réponses

payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
10 juil. 2009 à 17:43
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 ;)
3
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
8 juil. 2009 à 19:43
Salut,

Passe donc les donnés du formulaire de recherche par get et non par post.
0
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
9 juil. 2009 à 09:23
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 ?
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
9 juil. 2009 à 10:21
«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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
9 juil. 2009 à 12:39
Ok je vais essayer merci beaucoup pour ta reactivité ;)
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
9 juil. 2009 à 15:47
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
0
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
9 juil. 2009 à 15:52
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
0
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
9 juil. 2009 à 15:53
(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)
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
9 juil. 2009 à 16:31
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
0
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
9 juil. 2009 à 16:44
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 :)
0
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
10 juil. 2009 à 17:31
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
0
Rejoignez-nous