Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/08/2006, 11h09   #1
Nouveau Membre du Club
 
Avatar de eon-of-the-scorn
 
Étudiant
Inscription : juillet 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 83
Points : 36
Points : 36
Par défaut [Cookies] sauvegarder l'etat de la page

Bonjour,
j'ai besoin de pouvoir me balader entre deux pages, tt en gardant l'état de l'une d'entre elle.
la premiere page est la formulaire et dans la 2eme page il y a des message (exemple :email invalide..champs obligatoires non remplis..login existe...)
y a t'il une maniere de sauvegarder l'etat de la page sans utuliser les variables de session pour chaque champs de formulaire(c est trop long)

merci pour l aide
eon-of-the-scorn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h14   #2
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Bonjour,

Quand tu valides un formulaire, les informations enregistrées dans celui-ci sont alors disponibles dans la page ciblée.

Par exemple, si tu écris ceci dans une page formulaire.php :

Code :
1
2
3
4
<form method="post" action="pageCible.php">
<input type="text" name="unChampTexte">
<input type="submit" name="boutonSubmit" value="Valider ce formulaire">
</form>
Ca aura pour signification que ta pageCible.php recevra, par la méthode post, le contenu des champs renseignés, donc tu pourras accéder à ces valeurs dans la pageCible.php comme ceci :

Code :
echo $_POST['unChampTexte'];
Voila, j'espère que ça aide, il y a l'équivalent avec la method GET.
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h19   #3
Membre du Club
 
Inscription : juillet 2006
Messages : 85
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 85
Points : 55
Points : 55
Bonjour eon,

Je n'ai pas de réponse à te donner mais plutot un conseil. Tu devrais traiter tes messages d'erreurs sur la meme page que ton formulaire.

Par exemple

Code :
1
2
3
<input type="text" name="login" 
value="<?php if (isset($_POST['pseudo'])) echo stripslashes(htmlentities(trim($_POST['pseudo'])));">
 <? if (isset($_POST['login']) && empty($_POST['login']))echo 'Veuillez remplir ce champ';?>
Ceci dis, si tu veux travailler avec 2 pages précises stp le sens de "etat de la page".

Merci
Attilius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h20   #4
Nouveau Membre du Club
 
Avatar de eon-of-the-scorn
 
Étudiant
Inscription : juillet 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 83
Points : 36
Points : 36
Citation:
Envoyé par KiLVaiDeN
Bonjour,

Quand tu valides un formulaire, les informations enregistrées dans celui-ci sont alors disponibles dans la page ciblée.

Par exemple, si tu écris ceci dans une page formulaire.php :

Code :
1
2
3
4
<form method="post" action="pageCible.php">
<input type="text" name="unChampTexte">
<input type="submit" name="boutonSubmit" value="Valider ce formulaire">
</form>
Ca aura pour signification que ta pageCible.php recevra, par la méthode post, le contenu des champs renseignés, donc tu pourras accéder à ces valeurs dans la pageCible.php comme ceci :

Code :
echo $_POST['unChampTexte'];
Voila, j'espère que ça aide, il y a l'équivalent avec la method GET.



là c est pas vraiment ce que je demande!!!
le contenu des champs de la formulaire doit etre enregistré , meme si je ferme cette page qu on je l ouvre autre fois , il faut retrouver les memes contenus!!
eon-of-the-scorn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h25   #5
Membre du Club
 
Inscription : juillet 2006
Messages : 85
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 85
Points : 55
Points : 55
Pour sauver les informations de ton formulaire, enregistre les dans une base de donnée....C'est la seule solution pour pouvoir les retrouver à volonté.

Bonne chance...
Attilius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h25   #6
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
au moment ou l'utilisateur rempli son formulaire, il est identifier ?

enfin, je t'avouerai que j'ai pas bien compris ce que tu voulais faire là
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h30   #7
Nouveau Membre du Club
 
Avatar de eon-of-the-scorn
 
Étudiant
Inscription : juillet 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 83
Points : 36
Points : 36
Citation:
Envoyé par Attilius
Bonjour eon,

Je n'ai pas de réponse à te donner mais plutot un conseil. Tu devrais traiter tes messages d'erreurs sur la meme page que ton formulaire.

Par exemple

Code :
1
2
3
<input type="text" name="login" 
value="<?php if (isset($_POST['pseudo'])) echo stripslashes(htmlentities(trim($_POST['pseudo'])));">
 <? if (isset($_POST['login']) && empty($_POST['login']))echo 'Veuillez remplir ce champ';?>
Ceci dis, si tu veux travailler avec 2 pages précises stp le sens de "etat de la page".

Merci



salut Attilius

Sauvegarder l etat de la premiere page c-à-d ----->le contenu des champs de la formulaire doit etre enregistré , meme si je ferme cette page qu on je l ouvre une 2eme fois ,je retrouve les memes valeurs (par exemple si l 'email n est pas erroné pourqouoi sera il resaisie par l internaute.....)
eon-of-the-scorn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h33   #8
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
eh bien s'il doit fermer son navigateur alors il te reste la solution des cookies qui sera la plus simple
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h38   #9
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Citation:
Envoyé par eon-of-the-scorn
là c est pas vraiment ce que je demande!!!
le contenu des champs de la formulaire doit etre enregistré , meme si je ferme cette page qu on je l ouvre autre fois , il faut retrouver les memes contenus!!
2 solutions, en fonction du besoin :

1) l'utilisateur s'authentifie sur ton site

Pour sauvegarder le contenu de tes champs, il faut enregistrer ces valeurs dans une base de données, ou dans un fichier.

Donc dans ta page "cible" de ton formulaire, il faut récupérer les valeurs comme je te l'ai signalé, puis les enregistrer de la manière qui te convient.

Il faut les enregistrer pour l'utilisateur en cours, donc étant donné qu'il s'authentifie sur ton site au départ, tu peux associer les données à ce compte là.

2) l'utilisateur ne s'authentifie pas

Il faut utiliser les sessions. Dans la page cible, ajouter les valeurs validées dans des variables de session, si elles sont correctes.



Quoi qu'il en soit, il FAUDRA que la personne valide le formulaire; enregistrer les valeurs même si la personne ferme le navigateur, requiert une complication qui est habituellement inutile. Si c'est vraiment ce que tu souhaites, il faut te tourner vers du JavaScript et de l'AJAX, notamment les évènements onChange, onKeyUp etc.... Mais franchement, je ne vois pas pourquoi tu ferais cela.

A+

PS : Un bonjour, et un merci, ça fait pas de mal, et ça prend 2 secondes à écrire, la politesse c'est aussi quelque chose qui existe sur internet, même si c'est un environnement virtuel.
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h39   #10
Membre du Club
 
Inscription : juillet 2006
Messages : 85
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 85
Points : 55
Points : 55
Ok eon, si j'ai bien compris...

la réponse est dans le code donné plus haut...

Dans ta balise input tu mets:

value="<?php if (isset($_POST['login'])) echo $_POST['login'];?>"

ce qui veut dire....si input "login" a été rempli, "login" value prend la valeur du POST.

J'espère que ca peut t'aider.
Attilius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 11h52   #11
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
PS : Tu peux aussi sauvegarder le tableau $_POST[] en session, sous un autre nom, ainsi tu pourras accéder à toutes les valeurs.
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 12h07   #12
Nouveau Membre du Club
 
Avatar de eon-of-the-scorn
 
Étudiant
Inscription : juillet 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 83
Points : 36
Points : 36
Je vous remercie tous pour votre aide
eon-of-the-scorn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 12h52   #13
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Comment as-tu résolu ton problème ?
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 14h26   #14
Nouveau Membre du Club
 
Avatar de eon-of-the-scorn
 
Étudiant
Inscription : juillet 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 83
Points : 36
Points : 36
Citation:
Envoyé par KiLVaiDeN
Comment as-tu résolu ton problème ?
J ai utulisé les variables de session !
c est la seule maniere que j ai pu utulisé à cette situation !!
eon-of-the-scorn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 14h31   #15
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Citation:
Envoyé par eon-of-the-scorn
J ai utulisé les variables de session !
c est la seule maniere que j ai pu utulisé à cette situation !!
As-tu essayé de stocker le tableau en session ? comme ça pas besoin de 50 variables, une seule suffit
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 14h36   #16
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
je croyais que l'utilisateur pouvait fermer son navigateur ?
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 15h02   #17
Nouveau Membre du Club
 
Avatar de eon-of-the-scorn
 
Étudiant
Inscription : juillet 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 83
Points : 36
Points : 36
Citation:
Envoyé par KiLVaiDeN
As-tu essayé de stocker le tableau en session ? comme ça pas besoin de 50 variables, une seule suffit
Tu parle du tableau de variables de session?
eon-of-the-scorn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 15h02   #18
Nouveau Membre du Club
 
Avatar de eon-of-the-scorn
 
Étudiant
Inscription : juillet 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 83
Points : 36
Points : 36
Citation:
Envoyé par maximenet
je croyais que l'utilisateur pouvait fermer son navigateur ?
Ce point là ne fonctionne pas !!
eon-of-the-scorn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 15h19   #19
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Citation:
Envoyé par eon-of-the-scorn
Tu parle du tableau de variables de session?
Je parle du tableau $_POST[]

Le cas où la personne tape des informations, et ferme son navigateur, est toujours compliqué à gérer, et souvent, inutile à gérer, car rares sont les internautes qui ferment le navigateur sans cliquer sur le gros bouton VALIDER
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2006, 15h43   #20
Nouveau Membre du Club
 
Avatar de eon-of-the-scorn
 
Étudiant
Inscription : juillet 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 83
Points : 36
Points : 36
Citation:
Envoyé par KiLVaiDeN
Je parle du tableau $_POST[]

Le cas où la personne tape des informations, et ferme son navigateur, est toujours compliqué à gérer, et souvent, inutile à gérer, car rares sont les internautes qui ferment le navigateur sans cliquer sur le gros bouton VALIDER
Oui c'est trés compliqué il faut peut etre avoir recours

aux cookies[Je les aime bien ]

ou bien

ob_start et ob_get_contents [Je les aime pas trop ]
eon-of-the-scorn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h12.


 
 
 
 
Partenaires

Hébergement Web