renseignements session

Eléphant du PHP | 100 Messages

03 mars 2012, 00:20

Bonjour tout le monde,

Les sessions en php sont un peu flou pour moi encore j'aimerais arriver à comprendre quelque chose qui m'échappe, je m'explique :
Faut-il toujours mettre un "session_start" quand l'on veut se servir de session ?
Ou je peux très bien mettre que ceci :

Code : Tout sélectionner

$_SESSION['truc']=$_POST['truc']
Je ne comprend vraiment pas le principe des sessions, j'ai pourtant lu le man de php sur session_start mais c'est toujours flou pour moi.
Pourriez-vous m'éclaircir à ce sujet ?

Cordialement,

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 mars 2012, 01:12

salut,

oui le session_start() est obligatoire pour utiliser les sessions.

il est a mettre avant tout affichage.

@+
Il en faut peu pour être heureux ......

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 mars 2012, 11:12

Concernant les sessions, il s'agit simplement d'un tableau php qui est gardé en mémoire par le serveur au lieu d'être détruit à la fin de l'exécution du script.

Chaque session est associée à l'utilisateur (et au navigateur) qui est connecté. Ainsi les données que tu stockes en session ne sont valables que pour l'utilisateur qui les y a placé. Si tu as deux utilisateurs connectés, chacun aura sa propre session et son propre tableau de variables stockées sur le serveur.

Le session_start() est effectivement indispensable pour dire à php que ta variable $_SESSION fait référence au tableau gardé en mémoire par le serveur pour l'utilisateur connecté et non à une variable lambda :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 100 Messages

03 mars 2012, 13:15

Merci beaucoup de vos réponses, donc si j'ai bien tout compris sur les sessions, cela sert que chaque utilisateurs connectés aura c'est propre variable à lui en les attribuant comme ceci :

Code : Tout sélectionner

$truc= $-session['truc'];

ViPHP
xTG
ViPHP | 7331 Messages

03 mars 2012, 13:54

Non comme cela :
$_SESSION['truc'] = $truc;
La variable sera ensuite disponible sur toutes les pages.

Eléphant du PHP | 100 Messages

03 mars 2012, 15:14

oui pardon pour l'erreur de syntaxe et d'ordre. D'accord pas de soucis j'ai maintenant bien compris le principe des sessions.

Merci à tous pour vos explications.

Cordialement,