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 :

[Sécurité] PHP mécanisme de session et include


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut [Sécurité] PHP mécanisme de session et include
    Bonjour,

    Suite au message d'hier concernant mon problème de sessions, j'ai peut être trouvé un élément de réponse!

    Dans ma page d'index je fais un session_start() au début de la page. Donc pas de soucis. Par contre ensuite je fais des inclusions dans cette même page dans lesquelles je fais également des session_start().

    Mais le problème c'est que apparement il est impossible de lancer cette fonction lorsqu'il y a du code (style echo ou html) avant.

    Ce qui expliquerai mon problème. Maitenant comment est ce que je peux faire pour faire fonctionner le mécanisme de session sur les autres page ?

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    session_start envoie des headers HTTP, ce qui signifie qu'elle doit être appellée avant qu'un caractère quel qu'il soit n'ait été envoyé au client...

    si tu veux pouvoir l'utiliser n'importe quand, il te faut te pencher sur la bufférisation (attention : pas super rigoureux ) : http://fr.php.net/outcontrol

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Il y a bcp plus simple, dans ta page index la premiere chose que tu fais c'est de faire le session_start();

    ensuite dans tes include tu n'as plus besoin de le faire puisqu il est deja fais et donc tu peux utiliser tes variable de session sans difficulter.

    tu ne devrais remettre que un session_start() que lorsque tu ne sera plus sur ta page index.
    par exemple si pour faire un logout tu utilse une page que tu n appel pas dans ton index a ce moment la tu remet un session_start();

    moi en general je fais des le debut de ma page index ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    session_start();
    ?>
    <html>
    <head>
    ...
    </html>
    vala vala

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Je n'avais pas compris la situation comme ça, effectivement, Dokho1000 a tout à fait raison, cette solution est bien plus simple que la bufférisation (et bien plus propre)

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Merci :d

  6. #6
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Et si jamais tu dois mettre des session start sur plusieurs pages qui s'incluent, alors rajoute @ devant session_start() pour éviter un notice

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/09/2012, 09h19
  2. php redirection avec cURL conserver session
    Par allaf dans le forum Langage
    Réponses: 4
    Dernier message: 15/04/2009, 16h48
  3. code PHP d'une création de session
    Par caesar_tunisie dans le forum Langage
    Réponses: 1
    Dernier message: 30/05/2008, 21h35
  4. Réponses: 8
    Dernier message: 13/07/2006, 10h04
  5. [PHP-JS] structure de page appellee par include
    Par Pyrhus dans le forum Langage
    Réponses: 5
    Dernier message: 26/05/2006, 12h27

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