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 18/04/2006, 13h49   #1
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Par défaut Sessions PHP : ça fonctionne du premier coup ! Mais pourquoi ?

Bonjour,

Je viens de réaliser mon premier espace membre et j'ai donc pour la première fois utilisé les sessions php. Je m'attendais à ramer misérablement et au final ça a fonctionné du premier coup.
Je viens donc effectuer ma récolte de carambars bios et accessoirement poser quelques questions théoriques afin d'y voir plus clair.

Voilà ce que j'ai fait :
- En haut de l'index et des pages non incluses j'ai écrit session_start().
- Après identification, je récupère les valeurs comme suit (suite à une requête sql recherchant le pseudo et l'id correspondant à l'email entré dans le formulaire d'inscription) :
Code :
1
2
3
4
5
 
$pseudoSession = "$pseudo";
session_register("pseudoSession");
$idSession="$id";
session_register("idSession");
Ensuite, pour vérifier si tout fonctionne, j'affiche cela dans mes pages :
Code :
1
2
 
<?php echo"BIENVENUE $_SESSION[pseudoSession] !";?>
Et cela s'affiche bien.

Questions :
-La méthodologie vous semble-t'elle malgré tout à revoir ?
-Les fonctions utilisées sont-elles les bonnes ?
-Pourquoi est-ce que si j'initilialise plusieurs session_start() sur plusieurs pages différentes, est-ce la même sessions qui est utilisée ?
-Qu'avez-vous mangé à midi ?
- Que pouvez-vous me dire d'autre sur les sessions, qui puisse me permettre d'avoir l'air moins cruche en parlant de ce sujet ?


Merci d'avance pour vos réponses.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 13h55   #2
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
Pour info :
http://fr.php.net/session_register

http://fr.php.net/manual/fr/function.session-start.php


Ca répond a certaines de tes questions. Session_register n'est plus utilisé et session_start peut restaurer une session créé précedemment.
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 14h05   #3
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Merci pour ta réponse

J'ai utilisé session_register après avoir lu le tutorial de développez sur les sessions php. Qu'est ce qui ne va pas avec cette fonction ? Laquelle doit-on normalement utiliser ? Je lis le lien que tu m'as donné mais ça me parait confu.

**edit**
Ils disent d'utiliser session_is_registered à la place, si j'ai bien lu. Pourquoi par contre, là je n'ai pas tout compris.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 15h20   #4
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
Non ils disent plus exactement :

Citation:
Si vous voulez que votre script fonctionne indépendamment de la configuration de la directive register_globals, vous devez utiliser la variable $_SESSION. Tous les éléments de $_SESSION sont automatiquement enregistrés. Si votre script utilise session_register(), il ne fonctionnera pas dans les environnements où register_globals est désactivée.
Et plus bas il ne dit pas d'utiliser session_is_registered a la place, mais de n'utiliser aucun des 2.

En fait tu dois utiliser $_SESSION comme tu utilises $_GET en sachant que ces informations proviennent de la session
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 16h10   #5
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Ok
Donc j'utilise $_SESSION[idSession]="bob" pour enregistrer la variable dans la session et echo" $_SESSION[idSession]" pour l'afficher ?

Je vais essayer cela.

Une autre question : Je n'ai pas bien compris comment cela fonctionne lorsque j'enregistre une variable $_SESSION[]. Elle est stockée dans un répertoire sur le serveur c'est cela ? Et elle disparait quand du serveur ? Quand on utilise session_destroy ou quand l'utilisateur ferme toutes les fenêtres ?

Y'a t'il un truc essentiel à savoir quand on utilise les sessions et que j'aurais raté ?

**edit**
Je viens d'essayer ça fonctionne bien, du moins pareil, donc ça change rien mais bon c'est dans l'air du temps quoi.

Autre chose de fondamental donc, histoire que je réussisse mon premier site utilisant les sessions ?

Si je passe dans la session 40 variables, j'utilise 40 fois $_SESSION[variableNsur40]="$N" ?
Il y a un nombre limite à respecter ?
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 17h27   #6
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
Comment fonctionne une session :

http://cyberzoide.developpez.com/php4/faqsession/#intro

Je crois que t'as la majorité de tes réponses dans cette FAQ.
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 17h57   #7
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
ok
J'ai lu cette page.

Pourriez-vous s'il vous plait me dire quelles sont les méthodes associées aux sessions php que vous utilisez le plus souvent, et à quelles occasions ?
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 10h37   #8
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
session_start pour démarrer les sessions. Et après je manipule uniquement le tableau $_SESSIONS
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 11h37   #9
Membre Expert
 
Avatar de trattos
 
Inscription : juillet 2003
Messages : 1 005
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2003
Messages : 1 005
Points : 1 022
Points : 1 022
Après relecture je n'ai toujours pas compris le problème, au fait il y en a un???
trattos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2006, 14h05   #10
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Non il n'y avait pas de problème, simplement je m'étais toujours dis que les sessions étaient difficiles à utiliser alors qu'en fait c'est basique. J'étais surpris je voulais en savoir plus.
psychoBob 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 19h41.


 
 
 
 
Partenaires

Hébergement Web