Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1721 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  retour à la page précédente : conserver les données de session

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

retour à la page précédente : conserver les données de session

n°1821678
F22Raptor
Tête en l'air ...
Posté le 03-12-2008 à 22:43:02  profilanswer
 

Hello,
J'ai 3 fichiers : un formulaire pour taper un mot de passe, un PHP qui affiche une liste de liens (appelons le php1), et un PHP qui affiche du texte après le clic sur un des liens (fichier php2)
 
J'utilise le MdP à la fois dans php1 et php2 : j'ai donc créé une session pour pouvoir utiliser le MdP sous la forme d'une variable dans les deux fichiers
 
Tout marche bien, sauf lorsque, depuis php2, je veux retourner à php1 pour revoir ma liste (et éventuellement cliquer sur un autre lien) : j'ai alors le fameux message :

Citation :

Avertissement : expiration du délai pour cette page  
Pour envoyer vos informations à nouveau et afficher cette page Web, cliquez sur le bouton Actualiser.


 
Y a t il un moyen d'éviter ça, tout en gardant le MdP dans sa variable : l'objectif est de pouvoir cliquer sur un autre lien de la liste, visualiser le contenu avec php2, revenir sur la liste, etc ...


---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball
mood
Publicité
Posté le 03-12-2008 à 22:43:02  profilanswer
 

n°1821753
FlorentG
Posté le 04-12-2008 à 09:40:54  profilanswer
 

Après une requête de type POST, le mieux est de ne pas balancer l'affichage de php1 tout de suite comme ça. Il faut plutôt rediriger vers php1 (donc forcer la méthode GET dessus), et du coup ça roule. Donc après traitement du mot de passe, balance un :

Code :
  1. header('Location: http://tonsite/machin/php1.php', true, 303);


Message édité par FlorentG le 04-12-2008 à 09:41:00
n°1821755
skeye
Posté le 04-12-2008 à 09:43:00  profilanswer
 

c'est parce-que tu reviens sur la cible de ton formulaire. La solution est de traiter le formulaire dans un script qui ne fait pas d'affichage lui-même, mais redirige vers une autre page quand il a terminé le traitement. Ca donne quelque chose dans ce genre :

 

toto.html :

Code :
  1. <form action="toto.php"...>
  2. ....
 

toto.php :

Code :
  1. //on traite les données envoyées via le formulaire, on met en session ce dont on a besoin plus tard
  2. ...
  3.  
  4. header('Location: titi.php');
 

titi.php:

Code :
  1. //là tu affiche ta page sur laquelle l'utilisateur va revenir...

Message cité 1 fois
Message édité par skeye le 04-12-2008 à 09:43:09

---------------
Can't buy what I want because it's free -
n°1821757
FlorentG
Posté le 04-12-2008 à 09:45:31  profilanswer
 

skeye a écrit :

Code :
  1. //on traite les données envoyées via le formulaire, on met en session ce dont on a besoin plus tard
  2. ...
  3.  
  4. header('Location: titi.php');



Le header location doit avoir une adresse absolue :o (HTTP/1.1 Location)
 
Et après une requête POST, c'est un 303 See Other pour forcer le GET qu'il faut utiliser :o

n°1821789
skeye
Posté le 04-12-2008 à 10:27:13  profilanswer
 

FlorentG a écrit :


Le header location doit avoir une adresse absolue :o (HTTP/1.1 Location)
 
Et après une requête POST, c'est un 303 See Other pour forcer le GET qu'il faut utiliser :o


 
[:tartragnan]


---------------
Can't buy what I want because it's free -
n°1821795
FlorentG
Posté le 04-12-2008 à 10:32:38  profilanswer
 


Nargue-moi avec tes smileys, vas-y :o

n°1823339
F22Raptor
Tête en l'air ...
Posté le 07-12-2008 à 22:56:52  profilanswer
 

bon, donc ça marche !  Parfait le coup du PHP intermédiaire !
 
Par contre, bizarre, ça marche sur un de mes comptes OVH, mais pas sur un autre (qui pourtant accepte le PHP) : je copie les mêmes fichiers dans un répertoire nommé pareil, et ça coince !
On dirait que cet autre compte OVH (le plus basique, 1 Mo, offert avec le nom de domaine), gère le PHP mais pas les sessions.
C'est possible ?
 
EDIT : ça marche ce matin !  Peut être une histoire de cache mal vidé entre mes différents test  
En tout cas, merki pour la soluce  :)


Message édité par F22Raptor le 08-12-2008 à 08:29:19

---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  retour à la page précédente : conserver les données de session

 

Sujets relatifs
Créer un graphique avec des données sources variablesExécuter script depuis une autre page
[EDIT après avoir bossé un peu] Retour sur le menu principaltransfert données Excel vers txt
Ouvrir lightbox au chargement d'une pageRenommer des fichiers grâce à une base de données
Tableau multi avec plusieurs donneesDe la 1ère place à la 3ème page ?
Page web qui retourne du code xmlTransformation Tableau en Liste de Données
Plus de sujets relatifs à : retour à la page précédente : conserver les données de session


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR