Variables de sessions
Fermé
virtualsof
Messages postés
106
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
17 août 2014
-
24 oct. 2008 à 00:02
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 - 30 oct. 2008 à 11:03
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 - 30 oct. 2008 à 11:03
14 réponses
ton $data étant déjà un tableau :
foreach ($data as $cle=>$valeur) $_SESSION[$cle]=$valeur;
Je me demande pourquoi les gens vont chercher des trucs compliqués alors que c'est si bien décrit dans les docs...
foreach ($data as $cle=>$valeur) $_SESSION[$cle]=$valeur;
Je me demande pourquoi les gens vont chercher des trucs compliqués alors que c'est si bien décrit dans les docs...
le genre de codeur qui connait la réponse mais qui veux pas la donner tout de suite, alors il met sur la piste maaaaiis nananana.... cherche !
Bien sûr ! Lis la charte du forum. Ce n'est pas un service d'écriture de programme.
Bien sûr ! Lis la charte du forum. Ce n'est pas un service d'écriture de programme.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Question 1 tu demandes :
message 5 je réponds
Ce code répond très exactement à ta question. Qu'est ce que je peux te dire de plus ?
// Ici j'aimerai récupérer TOUS les champs de la table et les déclarer $_SESSION['prefixe'] = $data['prefixe']; $_SESSION['nom'] = $data['nom']; $_SESSION['prenom'] = $data['prenom']; $_SESSION['mail'] = $data['mail']; $_SESSION['login'] = $data['login']; $_SESSION['mdp'] = $data['mdp']; // etc...
message 5 je réponds
foreach ($data as $cle=>$valeur) $_SESSION[$cle]=$valeur;
Ce code répond très exactement à ta question. Qu'est ce que je peux te dire de plus ?
virtualsof
Messages postés
106
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
17 août 2014
17
30 oct. 2008 à 11:03
30 oct. 2008 à 11:03
Salut c'est encore moué
alors j'ai essayé de tourner ca dans tous les sens et j'arrive pooooooo ;(((
Voila ou je bloque :
Évidement je suis ouvert à toutes propositions (décentes) dans l'éventualité ou il faudrait faire cette fonction différement.
Si qqu'un a une idée... d'avance merci.
PS : A l'attention de Briiiiiiiiiix : En encadré jaune sur le site de PHP.net, cet avertissement :
Si vous utilisez $_SESSION (ou $HTTP_SESSION_VARS), n'utilisez pas session_register(), session_is_registered() et session_unregister().
https://www.php.net/manual/fr/function.session-register.php
alors j'ai essayé de tourner ca dans tous les sens et j'arrive pooooooo ;(((
Voila ou je bloque :
<?php // ... je vous passe la portion qui n'a aucune incidence sur la compréhension du sujet... // Juste a savoir que $loginOK vs l'aurez compris correspond à la vérification des données du formulaire if (($loginOK) && $_SESSION['login'] == "admin") { // // $_SESSION['login'] = $data['login']; // C'est la que ça bloque, ceci ne me retourne pourtant aucune erreur mais les variables ne sont pas déclarées. foreach ($data as $cle=>$valeur) { // déclaration des variables de session $_SESSION[$cle]=$valeur; } header("location:admin/index.php"); } else { header("location:erreur.php"); //echo 'Une erreur est survenue, veuillez réessayer !'; } ?>
Évidement je suis ouvert à toutes propositions (décentes) dans l'éventualité ou il faudrait faire cette fonction différement.
Si qqu'un a une idée... d'avance merci.
PS : A l'attention de Briiiiiiiiiix : En encadré jaune sur le site de PHP.net, cet avertissement :
Si vous utilisez $_SESSION (ou $HTTP_SESSION_VARS), n'utilisez pas session_register(), session_is_registered() et session_unregister().
https://www.php.net/manual/fr/function.session-register.php
briiiiix
Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
24 oct. 2008 à 10:25
24 oct. 2008 à 10:25
J'ai trouvé un bout de code pour ouvrir une session qui pourrait t'interresser:
<?php
//************************** Session ******************
session_start(); // dbut de session
if (isset($_POST['valider_connexion'])){ // execution apres envoi du formulaire
$login = $_POST['login_membre']; // mise en variable du nom d'utilisateur
$pass = md5($_POST['password_membre']); // mise en variable du mot de passe crypt
$verif_query="SELECT * FROM membres WHERE Login_membre='$login' AND Password_membre='$pass'"; // requte sur la base administrateurs
$verif = mysql_query($verif_query) or die(mysql_error());
$row_verif = mysql_fetch_array($verif);
$utilisateur = mysql_num_rows($verif);
if ($utilisateur) { // On test s'il y a un utilisateur correspondant
session_register("authentification"); // enregistrement de la session
// dclaration des variables de session
$_SESSION['id'] = $row_verif['Id_membre']; // Son id
$_SESSION['login'] = $row_verif['Login_membre']; // Son Login
$_SESSION['pass'] = $row_verif['Password_membre']; // Son mot de passe ( viter)
$_SESSION['nom'] = $row_verif['Nom_membre']; // Son Nom
$_SESSION['prenom'] = $row_verif['Prenom_membre']; // Son Prenom
$_SESSION['equipe'] = $row_verif['Equipe_membre']; // Son Equipe
$_SESSION['privilege'] = $row_verif['Privilege_membre']; // Son Privilege
}}
//*************************Session ************************?>
Bon travail
<?php
//************************** Session ******************
session_start(); // dbut de session
if (isset($_POST['valider_connexion'])){ // execution apres envoi du formulaire
$login = $_POST['login_membre']; // mise en variable du nom d'utilisateur
$pass = md5($_POST['password_membre']); // mise en variable du mot de passe crypt
$verif_query="SELECT * FROM membres WHERE Login_membre='$login' AND Password_membre='$pass'"; // requte sur la base administrateurs
$verif = mysql_query($verif_query) or die(mysql_error());
$row_verif = mysql_fetch_array($verif);
$utilisateur = mysql_num_rows($verif);
if ($utilisateur) { // On test s'il y a un utilisateur correspondant
session_register("authentification"); // enregistrement de la session
// dclaration des variables de session
$_SESSION['id'] = $row_verif['Id_membre']; // Son id
$_SESSION['login'] = $row_verif['Login_membre']; // Son Login
$_SESSION['pass'] = $row_verif['Password_membre']; // Son mot de passe ( viter)
$_SESSION['nom'] = $row_verif['Nom_membre']; // Son Nom
$_SESSION['prenom'] = $row_verif['Prenom_membre']; // Son Prenom
$_SESSION['equipe'] = $row_verif['Equipe_membre']; // Son Equipe
$_SESSION['privilege'] = $row_verif['Privilege_membre']; // Son Privilege
}}
//*************************Session ************************?>
Bon travail
virtualsof
Messages postés
106
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
17 août 2014
17
24 oct. 2008 à 11:23
24 oct. 2008 à 11:23
Oula non t'y est pas Briiiix, c'est très gentil à toi, mais j'ai pas de prob pour ouvrir la session
Ici je n'ai posté en fait que le strict nécessaire à la compréhension de la question.
C'est plutôt toto qui est dans le bon sens de la réponse. En fait j'avais aussi cherché de ce coté là toto, mais j'arrive pas à l'écrire.
Et franchement ce que j'ai écrit j'ose pas le poster ici... s'trooo.. pabooo !
Markiiii :)
Ici je n'ai posté en fait que le strict nécessaire à la compréhension de la question.
C'est plutôt toto qui est dans le bon sens de la réponse. En fait j'avais aussi cherché de ce coté là toto, mais j'arrive pas à l'écrire.
Et franchement ce que j'ai écrit j'ose pas le poster ici... s'trooo.. pabooo !
Markiiii :)
virtualsof
Messages postés
106
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
17 août 2014
17
24 oct. 2008 à 11:39
24 oct. 2008 à 11:39
Bon allez j'essaye qd mm.... glups
Est ce que ca pourrait ressembler à oun trouc coum ca :
siouplé non pas les dents !
PS : Stp Briiix ca veux dire quoi (VITER)
Est ce que ca pourrait ressembler à oun trouc coum ca :
$a = array("nom", "prenom", "adresse", "cp", "ville", "tel", "fax"); $b = array("NOM", "PRENOM", "ADRESSE", "CP", "VILLE", "TEL", "FAX") foreach ($a as $b) { $_SESSION['$a'] = $data['$b']; }
siouplé non pas les dents !
PS : Stp Briiix ca veux dire quoi (VITER)
$_SESSION['pass'] = $row_verif['Password_membre']; // Son mot de passe ( viter)
briiiiix
Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
24 oct. 2008 à 14:26
24 oct. 2008 à 14:26
C'etait une erreur de copier coller
Tu peux m'envoyer tout le code de la page? je pourrais t'aider !!!
Tu peux m'envoyer tout le code de la page? je pourrais t'aider !!!
virtualsof
Messages postés
106
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
17 août 2014
17
24 oct. 2008 à 21:31
24 oct. 2008 à 21:31
HAAAAAAAAAAA D'accoooooord Oukiiiii
hemmm J'ai tjs rien compris !
bon alors comme me l'a si gentiment demandé Briiiiiiiiix (c'est 6 ou 8 i ?) je colle !
ok donc ca c'est le code pour Briiiiix, ensuite pour faire plaisir à toto :
En fait ce qui me bloque c'est de savoir comment nommer mes variables de sessions pour les affecter ensuite. Car bien entendu, ces variables j'ai besoin de les utiliser ensuite.
Voili encore merci :)
hemmm J'ai tjs rien compris !
bon alors comme me l'a si gentiment demandé Briiiiiiiiix (c'est 6 ou 8 i ?) je colle !
<?php session_start(); session_start(); //Membres only if (!isset($_SESSION['admin'])) { if (!isset($_SESSION['membre'])) { header("location:formulaire-login-membres.php"); } } include 'config.php'; // On va chercher les données afférentes à ce membre $sql = "SELECT * FROM membre WHERE id = '".$_SESSION['membre']."'"; $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql); $data = mysql_fetch_assoc($req); // on stoque les variables $_SESSION['login'] = $data['login']; $_SESSION['mdp'] = $data['mdp']; $_SESSION['USER_ID'] = $data['id']; $_SESSION['USER_PREFIXE'] = $data['prefixe']; $_SESSION['USER_NOM'] = $data['nom']; $_SESSION['USER_PRENOM'] = $data['prenom']; $_SESSION['USER_EMAIL'] = $data['mail']; $_SESSION['USER_ADRESSE'] = $data['adresse']; $_SESSION['USER_CP'] = $data['cp']; $_SESSION['USER_VILLE'] = $data['ville']; $_SESSION['USER_PAYS'] = $data['pays']; $_SESSION['USER_TEL'] = $data['tel']; $_SESSION['USER_FAX'] = $data['fax']; ?>
ok donc ca c'est le code pour Briiiiix, ensuite pour faire plaisir à toto :
<?php session_start(); //----En répondant je test ça je pense que c'est mieux ? if (!((isset($_SESSION['membre'])) or (isset($_SESSION['admin'])))) { header("location:form-login-membres.php"); } include 'config.php'; // On va chercher les données afférentes à ce membre $sql = "SELECT * FROM membre WHERE id = '".$_SESSION['membre']."'"; $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql); $data = mysql_fetch_assoc($req); //----------et puis ça ^^ foreach ($data as $cle=>$valeur) { $_SESSION[$cle]=$valeur; } ?>
En fait ce qui me bloque c'est de savoir comment nommer mes variables de sessions pour les affecter ensuite. Car bien entendu, ces variables j'ai besoin de les utiliser ensuite.
Voili encore merci :)
briiiiix
Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
24 oct. 2008 à 22:56
24 oct. 2008 à 22:56
Tu ve que cette partie soit automatisée dans une boucle ?
// on stoque les variables
$_SESSION['login'] = $data['login'];
$_SESSION['mdp'] = $data['mdp'];
$_SESSION['USER_ID'] = $data['id'];
$_SESSION['USER_PREFIXE'] = $data['prefixe'];
$_SESSION['USER_NOM'] = $data['nom'];
$_SESSION['USER_PRENOM'] = $data['prenom'];
$_SESSION['USER_EMAIL'] = $data['mail'];
$_SESSION['USER_ADRESSE'] = $data['adresse'];
$_SESSION['USER_CP'] = $data['cp'];
$_SESSION['USER_VILLE'] = $data['ville'];
$_SESSION['USER_PAYS'] = $data['pays'];
$_SESSION['USER_TEL'] = $data['tel'];
$_SESSION['USER_FAX'] = $data['fax'];
// on stoque les variables
$_SESSION['login'] = $data['login'];
$_SESSION['mdp'] = $data['mdp'];
$_SESSION['USER_ID'] = $data['id'];
$_SESSION['USER_PREFIXE'] = $data['prefixe'];
$_SESSION['USER_NOM'] = $data['nom'];
$_SESSION['USER_PRENOM'] = $data['prenom'];
$_SESSION['USER_EMAIL'] = $data['mail'];
$_SESSION['USER_ADRESSE'] = $data['adresse'];
$_SESSION['USER_CP'] = $data['cp'];
$_SESSION['USER_VILLE'] = $data['ville'];
$_SESSION['USER_PAYS'] = $data['pays'];
$_SESSION['USER_TEL'] = $data['tel'];
$_SESSION['USER_FAX'] = $data['fax'];
virtualsof
Messages postés
106
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
17 août 2014
17
25 oct. 2008 à 01:07
25 oct. 2008 à 01:07
Méééééé heuuuuuu looool
Non pas tout à fait, quoique pourquoi pas je pense avoir été clair dans ma question, ce que j'ai fait ça marche mais ça ne me plait pas dans l'art et la manière.
Bon et puis je cherche à parfaire mon coding donc quand je vois ce genre de problème je sait qu'il y a une façon plus... conventionnelle et surtout plus rapide de réaliser ce genre de requêtes.
Donc oui pq pas avec une boucle Briiiiiiiiiiix. Mais j'ai pas testé ce que j'ai écrit, c'est ça ? houpa ?
Je dis lol pq j'aime bien le style de toto, un peu le genre de codeur qui connait la réponse mais qui veux pas la donner tout de suite, alors il met sur la piste maaaaiis nananana.... cherche !
gnacgnacgnac
Non pas tout à fait, quoique pourquoi pas je pense avoir été clair dans ma question, ce que j'ai fait ça marche mais ça ne me plait pas dans l'art et la manière.
Bon et puis je cherche à parfaire mon coding donc quand je vois ce genre de problème je sait qu'il y a une façon plus... conventionnelle et surtout plus rapide de réaliser ce genre de requêtes.
Donc oui pq pas avec une boucle Briiiiiiiiiiix. Mais j'ai pas testé ce que j'ai écrit, c'est ça ? houpa ?
Je dis lol pq j'aime bien le style de toto, un peu le genre de codeur qui connait la réponse mais qui veux pas la donner tout de suite, alors il met sur la piste maaaaiis nananana.... cherche !
gnacgnacgnac
briiiiix
Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
25 oct. 2008 à 14:39
25 oct. 2008 à 14:39
Et surtout n'utilise pas la boucle for, car sinon tu n'auras aucune variable affectée.
Bon travail
Bon travail