Besoin de renseignement sur les sessions

[Résolu]
Signaler
Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
14 février 2013
-
Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
14 février 2013
-
bonjour, je suis en train de creer un petit site et j'aimerais avoir
des information sur les sessions. j'ai lu divers tuto et source sur les
session mais... je dois etre bete mai je ne compred pas certain truc!!



dans mon site, j'ai creer un petit formulaire pour creer un compte et un pour s'authentifier



dans l'un comme dans l'autre, je commence avec session_start();



ensuite sur toutes mes pages je peux faire

echo "

L'id de la session est ".session_id()." ";

et donc verifier que la session est bien ouverte--> donc j'ai bien a faire a un membre:)





bon jusque la OK mais :

comment enregistrer une variable de session ?

comment la recuperer dans mes page pour pouvoir l'utiliser avec mes requete sql ?



merci d'avance !



ps : les reponses amenerons surement d'autre questions....

4 réponses

Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Bonjour,

La varible (type array ?) $_SESSION est une super-global, c'est a dire qu'elle peut etre utiliser depuis plusieurs pages independament, du moment que les sessions sont lancer au debut du script (en reference aux cookies renvoyer par le client HTTP (sessid)).

Des variables de sessions:

a.php :
<?php
session_start();
$_SESSION['truc'] = 'test';
echo '[b.php b.php]';
?>

b.php :
<?php
session_start();
if (isset($_SESSION['truc'])) { // ont verifit que la session existe
echo 'salut '.$_SESSION['truc']; // va afficher: "salut test"
// ont fait ce que tu veux avec la base SQL
// mysql_connect ...
$requette = 'INSERT into table ... blabla '.$_SESSION['truc'].' ... ';
@mysql_query($requette) or die('erreur mysql');
//...
}
else echo 'vous n\'etes pas identifier ou qoui ?';
?>

Pour les requettes SQL de n'importe quel type qu'elle soit, il est plus simple au niveau de la programmation de donner une variable qu'ont va remplir de la requette a effectué, au lieu de tout faire dans la mysql_query().

Quelques tuto a lire:

http://www.phpdebutant.org/article47.php
http://www.phpdebutant.org/article69.php
http://www.php.net/manual/en/ref.session.php
http://www.php.net/manual/fr/ref.session.php
Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
14 février 2013
2
merci mais ca ne marche tjr pas !!

j'ai ma page qui inscript les memndre avec ca:





//enregistrement

session_start();

if((trim($entreprise!=""))&&(trim($pass!=""))&&(trim($mail))){



$sql = "INSERT INTO entreprise VALUES('','$entreprise','$pass','$mail',now())";

mysql_query($sql) or die('Erreur SQL !
'.$sql);



$sql "SELECT id_entreprise FROM entreprise WHERE nom_entreprise '".$entreprise."'";

mysql_query($sql) or die('Erreur SQL !
'.$sql);

$data = mysql_fetch_row($query);

$_SESSION['id']=$data[0];

mysql_close();

header('Location: ../index.php');

}



ensuite sur ma page index je commence par session_start();, du code html puis:

Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
14 février 2013
2
j'ai regardé apres l'inscription ce qu'il y avait dans le fichier créé par la session :

il y a : id|N;





aidez moi snif :'(
Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
14 février 2013
2
j'ai trouvé !!! merci :)