IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Sessions PHP : ça fonctionne du premier coup ! Mais pourquoi ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    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.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    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.

  4. #4
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    Non ils disent plus exactement :

    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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    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 ?

  6. #6
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    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.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    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 ?

  8. #8
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    session_start pour démarrer les sessions. Et après je manipule uniquement le tableau $_SESSIONS

  9. #9
    Membre éprouvé Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    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 000
    Points : 1 080
    Points
    1 080
    Par défaut
    Après relecture je n'ai toujours pas compris le problème, au fait il y en a un???

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mail php qui fonctionne en local mais pas en distant
    Par Equinoxe5 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 14/10/2011, 17h07
  2. [CR XI] Appel d'un RPT en PHP, ça fonctionne mais..
    Par mickam51 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 20/04/2010, 11h56
  3. Le passage de ma variable de session (PHP) ne fonctionne pas
    Par beegees dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/03/2009, 14h10
  4. Réponses: 5
    Dernier message: 17/12/2008, 14h18
  5. [MySQL] Session php qui ne fonctionne pas
    Par tiph02 dans le forum PHP & Base de données
    Réponses: 42
    Dernier message: 04/06/2008, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo