Enregister informations sessions en php
Résolu
Fuji60
Messages postés
23
Statut
Membre
-
Fuji60 Messages postés 23 Statut Membre -
Fuji60 Messages postés 23 Statut Membre -
Bonjour à tous,
alors ca fait depuis quelque temps que je n'arrive pas à régler un problème, et donc j'ai décidé de demandé de l'aide sur le forum.
Le problème est que lorsqu'un membre s'inscrit sur le formulaire, il donne des informations. Ce que je voudrais faire, c'est enregistrer ces informations ( Le prenom, le nom, et l'e-mail ), pour ensuite l'afficher sur son compte, pour qu'il puisse s'il veut le modifier.
Le formulaire fait appelle a une page appelé traitement.php qui traite ces informations.
J'ai d'abord penser à mettre sur cette page traitement.php :
$_SESSION=$_POST["nom"];
$_SESSION=$_POST[prenom"];
etc...
Mais cela n'enregiste pas complètement les informations, elle les affiches juste lors de la première connection. Lors de la deuxième connection, les informations sont oubliés et ca affiche une erreur, comme quoi, $_POST(suivi de la variable) n'a pas été identifié, donc qu'elle n'existe pas.
En espérant avoir été assez clair, merci d'avance.
alors ca fait depuis quelque temps que je n'arrive pas à régler un problème, et donc j'ai décidé de demandé de l'aide sur le forum.
Le problème est que lorsqu'un membre s'inscrit sur le formulaire, il donne des informations. Ce que je voudrais faire, c'est enregistrer ces informations ( Le prenom, le nom, et l'e-mail ), pour ensuite l'afficher sur son compte, pour qu'il puisse s'il veut le modifier.
Le formulaire fait appelle a une page appelé traitement.php qui traite ces informations.
J'ai d'abord penser à mettre sur cette page traitement.php :
$_SESSION=$_POST["nom"];
$_SESSION=$_POST[prenom"];
etc...
Mais cela n'enregiste pas complètement les informations, elle les affiches juste lors de la première connection. Lors de la deuxième connection, les informations sont oubliés et ca affiche une erreur, comme quoi, $_POST(suivi de la variable) n'a pas été identifié, donc qu'elle n'existe pas.
En espérant avoir été assez clair, merci d'avance.
A voir également:
- Enregister informations sessions en php
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Entrer les informations d'identification reseau - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Vous n'avez pas fourni assez d'informations pour que google puisse s'assurer que ce compte vous appartient. google vous demande ces informations afin de protéger votre compte. - Guide
10 réponses
Bonjour
Il faut faire:
De plus, il faut appeler session_start(); au début de chaque page
Et enfin, c'est $_SESSION qui est conservé, pas $_POST. Ça veut dire que dans une autre page, il faudra utiliser $_SESSION[nom'], etc... pour récupérer les valeurs qu'il y avait initialement dans le formulaire
Il faut faire:
$_SESSION['nom']=$_POST["nom"]; $_SESSION['prenom']=$_POST[prenom"];
De plus, il faut appeler session_start(); au début de chaque page
Et enfin, c'est $_SESSION qui est conservé, pas $_POST. Ça veut dire que dans une autre page, il faudra utiliser $_SESSION[nom'], etc... pour récupérer les valeurs qu'il y avait initialement dans le formulaire
Merci d'avoir répondu,
effectivement, mais lorsque je fait cela, j'ai la même erreur. C'est incompréhensible car je pense que ce que vous venez de dire est la solution au problème. $_SESSION est conservé que lors de la première connection, mais lors de la deuxième connection, elle oublie les variables $_SESSION que j'ai définie.
Je les définis seulement sur la page traitement.php, mais lorsque le membre se connecte et visite le site, se déconnecte, etc...il ne fait plus jamais appelle à cette page. Je me demandais si le problème venait de la.
effectivement, mais lorsque je fait cela, j'ai la même erreur. C'est incompréhensible car je pense que ce que vous venez de dire est la solution au problème. $_SESSION est conservé que lors de la première connection, mais lors de la deuxième connection, elle oublie les variables $_SESSION que j'ai définie.
Je les définis seulement sur la page traitement.php, mais lorsque le membre se connecte et visite le site, se déconnecte, etc...il ne fait plus jamais appelle à cette page. Je me demandais si le problème venait de la.
Je ne suis pas sûr que nous parlions de la même chose.
Parles-tu de variables à conserver quand un visiteur va de page en page sur ton site sans refermer le navigateur ? Si c'est oui, on parle bien de session.
Parles-tu de variables que tu voudrais pouvoir ré-afficher quand ton visiteur a refermé son navigateur et revient visiter son site plus tard ? Là les sessions ne suffisent pas, il faut utiliser une base de données.
Parles-tu de variables à conserver quand un visiteur va de page en page sur ton site sans refermer le navigateur ? Si c'est oui, on parle bien de session.
Parles-tu de variables que tu voudrais pouvoir ré-afficher quand ton visiteur a refermé son navigateur et revient visiter son site plus tard ? Là les sessions ne suffisent pas, il faut utiliser une base de données.
Ah très bien, alors on parle donc de base de données ^^)
Alors le mieux serait de faire un code qui se connecte à la base de données, et qui lui demande donc " Va chercher le prenom de l'id, et affiche le " c'est bien ca ?
La base de données est dêja faite, mais le problème est que je veut afficher les informations sur un input, et qu'elle sera contenue pas un value. Je ne pense pas que ce soit possible si ?
Alors le mieux serait de faire un code qui se connecte à la base de données, et qui lui demande donc " Va chercher le prenom de l'id, et affiche le " c'est bien ca ?
La base de données est dêja faite, mais le problème est que je veut afficher les informations sur un input, et qu'elle sera contenue pas un value. Je ne pense pas que ce soit possible si ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si, c'est tout à fait possible.
En supposant que ton nom soit dans $nom :
En supposant que ton nom soit dans $nom :
<input type="text" name = "nom" value="<?php echo htmlentities($nom) ?>" />
Ah oui je vois ce que vous voulez dire, mais lorsque j'affiche le nom et le prenom, il m'affiche essentiellement les informations du premier membre. Ce que je voudrais faire, c'est afficher les informations en fonction de l'id.
Dans ma requête, je ne peux pas mettre :
$req = $bdd->query('SELECT * FROM membres WHERE Email ( et faire une concaténation avec $_SESSION) ');
Dans ma requête, je ne peux pas mettre :
$req = $bdd->query('SELECT * FROM membres WHERE Email ( et faire une concaténation avec $_SESSION) ');
quand l'utilisateur se connecte, tu récupères ce que t'as besoin et tu le mets dans ta variable SESSION
Oui effectivement. Mais ce que je veux récupérer, c'est le prénom, le nom, et l'e-mail. L'e-mail se récupère très facilement car elle est utilisé lors de la connection. J'utilise Session et le tour est joué. Maintenant, le problème est de récupérer les informations donc, le prénom et le nom qui eux sont émit lors de l'inscription et non lors de la connection. Face à ce problème, le père m'a demandé d'utilisé la base de données et il avait raison. Donc mon problème réside sur mon message précédent, c'est donc : afficher le nom de la personne qui se connecte, donc en fonction de son id ;)
Merci d'avoir répondu dans tous les cas :)
Merci d'avoir répondu dans tous les cas :)
L'e-mail se récupère très facilement car elle est utilisé lors de la connection
Pour retrouver la ligne correpondnat à un email donné dans ta base, WHERE Email ne suffit pas.
Si ton champ s'appelle Email dans ta base, et que la variable php qui contient l'email s'appelle $emailaverifier :
Si tu as aussi un mot de passe à vérifier en même temps, tu peux faire
Pour retrouver la ligne correpondnat à un email donné dans ta base, WHERE Email ne suffit pas.
Si ton champ s'appelle Email dans ta base, et que la variable php qui contient l'email s'appelle $emailaverifier :
$req = $bdd->prepare('SELECT * FROM membres WHERE Email = ?);
$req->execute(array($emailaverifier));
Si tu as aussi un mot de passe à vérifier en même temps, tu peux faire
$req = $bdd->prepare('SELECT * FROM membres WHERE Email = ? AND mdp = ?);
$req->execute(array($emailaverifier,$motdepasseaverifier));