Aller au contenu

[PHP] pb retour en arrière avec POST!


am2d

Messages recommandés

bijour tout le monde !

voilà après moultes et moultes recherches je n'arrive pas à solutionner ce piti pb : :transpi:

en fait je développe une application de type Web en html/php/mysql... avec 10000 formulaires de toutes parts :arrow: (méthode post), voici donc le pb (léger :arrow: ):

en fait par exemple avec un formulaire d'administration (ajout de destinataire par exemple), je demande dans quel type de lettre rajouter un destinataire (grâce à une liste déroulante), ensuite grâce au type choisi je parviens à rajouter le nouveau destinataire dans la base à travers 2 ou 3 formulaires de plus servant d'étapes, mais ce que j'aimerais bien arriver à faire également, c'est pouvoir faire page précédente afin de revenir au niveau de la liste déroulante précédemment citée... le problème c'est qu'au moment de faire "précédent" sur la page qui suit juste la liste, j'ai droit à un

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...

Bien sûr en faisant actualiser ça marche mais il faut cliquer à chaque fois pour autoriser le renvoi d'informations... (very chiant non? :up::arrow: ) si ça ne tenait qu'à moi, je laisserais tel quel, mais les gens pour qui je développe ne sont pas de cet avis....

je me suis aperçu qu'en fait cela venait du session_start placé en haut de tous ces formulaires d'administration (je vérifie sur tous ceux-ci qu'une session a été bien crée, afin de limiter l'accés...), et que si ce session_start était supprimé, alors ce précédent fonctionnait... vraiment bizarre je n'ai pas trop compris... or ce session_start m'est indispensable pour limiter l'accès...

alors ma question est la suivante : y'a t-il moyen de faire cohabiter post/précédent/session_start ?

merci beaucoup d'avance pour votre aide!!!

ps: j'ai essayé avec la méthode get, avec succès, mais bien sûr les paramètres envoyés sont visibles, chose que je ne veux pas...

Lien vers le commentaire
Partager sur d’autres sites

bon j'ai trouvé ! :eeek2:

en espérant que ça serve à kk1 un de ces quatres !

http://forum.hardware.fr/hardwarefr/Progra...jet-86755-1.htm

Rajouter session_cache_limiter('private, must-revalidate');

juste avant le session_start() permet apparemment de valider automatiquement le renvoi d'informations du formulaire, ce qui permet le fait de faire page précédente...

voili voilou...

++ :reflechis:

Lien vers le commentaire
Partager sur d’autres sites

Et dire que ca faisait des mois que je cherchais une manière de faire ca...

J'avais essayé de passer les variables de $_POST vers $_SESSION et de rafraichir la page (la page faisant les controles nécessaires), mais ca avait jamais rien donné, ca n'était pas propre, et ca merdait bcp !

C'est super, je te remercie d'avoir posté la solution !

Lien vers le commentaire
Partager sur d’autres sites

Est-ce possible que ça ne fonctionne pas... :zarb:

J'ai essayé de placer cette variable au tout début de mon fichier PHP comme expliqué:

<?php

session_cache_limiter('private, must-revalidate');

?>

Mais si mon formulaire ne passe pas une validation et que je fais un exit(); lors du rafraichissement je perds quand même les valeurs.

Lien vers le commentaire
Partager sur d’autres sites

heuuuuu.... je ne comprends pas tout à fait ta question : :transpi:

Mais si mon formulaire ne passe pas une validation et que je fais un exit(); lors du rafraichissement je perds quand même les valeurs.

Qu'entends tu par là ? si tu ne fais pas un bouton submit ? et pourquoi effectuer un exit()?

quelles valeurs perds tu ? celles du formulaire précédent (chose qui ne m'arrive pas) ? ou celle du formulaire d'où tu viens faire le précédent (si c le cas c'est normal car le formulaire est "regénéré" depuis le début) ?

Lien vers le commentaire
Partager sur d’autres sites

  • 9 ans après...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...