garder les résultat d'une recherche pour le réafficher plus tard - PHP - Programmation
Marsh Posté le 03-03-2005 à 02:28:24
Si je ne m'abuse ca doit être une configuration de IE. Car sous Firefox, ca me dit que la page que je veux voir contient des post datas et me demande si je veux les renvoyer ...
Citation : Pour envoyer vos informations à nouveau et afficher cette page Web, cliquez sur le bouton Actualiser . |
bah voila, tu fais F5 et ca marchera
Marsh Posté le 03-03-2005 à 09:43:01
Salut Fredux_lg,
A mon avis le problème et que la page sur laquel tu réarrives a été récupérer par une requête HTTP POST et pas un GET...
Donc le formulaire sur lequel tu met action="post" doit se trouvé dans une autre page (moi j'appelle sa l'action) que ta page d'affichage retourné...
Cette dernière et t'appelé par la page d'action dia un get,
et pas de problème comme ca...
POur ce qui est de ta requête, pour conservé ton résultat, utilise une session au mieu, un cookie au pire...
Marsh Posté le 03-03-2005 à 10:49:45
edit: décidemment j'aime dire n'importe quoi
Marsh Posté le 03-03-2005 à 11:18:31
L'astuce dans ce genre de cas est d'essayer de placer une redirection. Je m'explique.
Flot d'exécution normal
formulaire.php -> POST -> resultats.php
Si on recharge la page, on demande le renvoi de la requête POST, d'où le message.
Flot avec redirection
formulaire.php -> POST -> redirection -> resultats.php
Si on recharge la page, on redemande alors directement resultats.php
L'inconvénient de cette deuxième méthode est qu'il faut stocker des infos quelque part (en session par exemple), soit la requête, soit les résultats.
Vu que les résultats ça peut faire un gros paquet de données, on peut imaginer ça:
formulaire.php : envoi des données en POST
redirection.php : met les données POST en session et redirige sur la page de résultats
resultat.php : affiche les résultats après avoir récupéré les paramètres en session.
Voilà pour le principe, maintenant au niveau perf et propreté j'ai aucune idée d'où ça se situe. C'est vendu "as is" sans garantie toussa
Marsh Posté le 03-03-2005 à 13:00:49
KrisCool a écrit : L'astuce dans ce genre de cas est d'essayer de placer une redirection. Je m'explique. |
merci je vais essayer ca, mais j'ai déja les infos de la fiche du visiteur en session,($_SESSION['name'],$_SESSION['email'], etc...) ca na risuque pas de crééer des conflits de variable ou des truc pareils ?
Marsh Posté le 03-03-2005 à 13:18:59
Bah il n'y aura de conflit de variable que si tu ne nommes pas bien tes variables. Tu peux bien choisir le nom de tes variables de session !
Marsh Posté le 04-03-2005 à 16:01:44
Voila ca marche c'est impecable
GRAND MERCI A TOUS pour vos conseils
Marsh Posté le 20-04-2005 à 13:05:41
Bonjour,
j'ai un probleme assez similaire mais plus ennuyeux.
J'ai 3 pages :
page1 = formulaire
page2 = resultats avec lien vers page3
page3=page appelé donc depuis page 2
Lorsque je suis sur page2 et que je clique sur le lien pour voir la page3, et que je reviens en page2 avec un javascript:history.back(1) ou bien en cliquant sur precedent, IE ne me demande meme pas si je veux reposter le formulaire (comme firefox) mais m'affiche une page d'erreur (Impossible d'afficher la page), et meme si je recharge, meme page d'erreur.
Par contre, j ai d autres page avec le meme systeme et la il marche bien (et me demande meme pas si je veux reposter mais affiche la page en cache) et je n arrive pas a trouver de difference entre les pages qui marchent et celles qu'il ne veut pas afficher.
Alors je cherch, je cherche, mais personne en parle sur le net (
Marsh Posté le 03-03-2005 à 02:25:53
salut a tous,
Voila mon problème:
je fait une requèete SQL sur une table membres et j'affiche le nom des membres avec un lien vers une autre requete qui affiche tout sa fiche.
mais si je fait "précédent" dans mon internet explorer il ne me réafiche pas la page précédement affichée avec les résultats
j'ai le message d'erreur :
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 .
comment puis-je faire pour réafficher cette page ?
merci d'avance...