8768 sujets

Développement web côté serveur, CMS

Bonjour,

Je me demandais comment était fait sur alsacreations.com le formulaire de recherche :
- je saisi un mot dans le champ et je valide
- j'arrive sur la page des résultats
- je clic sur un résultat, puis j'arrive sur la page suivante (jusque là tout va bien)

Par contre en faisant retour sur mon navigateur je reviens sur la pages des résultats; or cette page est appelée en POST et lorsque je fais cela sur un de mes sites j'obtiens un beau message du navigateur m'informant qu'il faut que je resoumette les données. Pas très ergonomique pour mes visiteurs.
Aussi, je ne souhaites pas soumettre mon formulaire en GET (ce qui éviterai le problème puisque les données seraient inclues dans l'url)

J'imagine qu'alsacreations.com a utilisé un cache... mais je ne vois pas exactement.

Pouvez-vous fournir l’explication ?

Merci d'avance.

Clément
Ce n'est pas très compliqué: une fois les données en POST récupérées, il suffit de rediriger immédiatement l'utilisateur sur une autre page avec header("Location:..."); en php par exemple.
Les données de la recherche elle-même sont probablement sauvegardées en session pour pouvoir être réaffichées.
Hello Smiley smile

Bon les membres d'alsa confirmerons Smiley cligne

la méthode est ancienne et simple

quand tu envoi un form sur une page php, cette page reçoit les infos les traites, et si elle trouve un résultat, elle renvoi via un Header("Location:..."); vers une nouvelle page Smiley smile

Le changement de page étant fait par le serveur et non par l'utilisateur, la page conservée dans l'history.back() est la première .. donc celle d'envoi Smiley cligne

tout simple et très facile à mettre en place Smiley smile