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 :

session_start() ;


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut session_start() ;
    Bonjour,

    J'utilise HapEdit 3.0 pour la création de mes scripts.

    Pour commencer avec les session, j'utilise session_start() ;
    Mais j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\bmxnpc\admin\admin.php:9) in c:\program files\easyphp1-8\www\bmxnpc\admin\admin.php on line 18
     
    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\bmxnpc\admin\admin.php:9) in c:\program files\easyphp1-8\www\bmxnpc\admin\admin.php on line 18
    Ca vient de où cette erreur ?

    Merci d'avance.

  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
    à la ligne 9 de ton fichier admin.php, tu as un envoie de caractère au navigateur web, ce qui interdit d'envoyer d'autres headers et donc de faire un session_start à la ligne 18 de ce même fichier (suffit de savoir lire)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    J'ai créer un toute nouvelle page pour le sript suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <html>
    <head>
    </head>
    <body>
    <?php
      session_start() ;
    ?>
    </body>
    </html>
    et voila l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\bmxnpc\admin\sess1.php:5) in c:\program files\easyphp1-8\www\bmxnpc\admin\sess1.php on line 6
     
    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\bmxnpc\admin\sess1.php:5) in c:\program files\easyphp1-8\www\bmxnpc\admin\sess1.php on line 6
    Donc l'erreur me dit que j'ai un envoi de caractère au navigateur web à la ligne 5 don je ne peux pas faire un session_start. Mais le problème qu'a la ligne 5 c'est : <?php.

    Donc je ne comprend pas trop.

    Merci d'avance.

  4. #4
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Essaie ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
       session_start() ;
     ?>
    <html>
    <head>
    </head>
    <body>
     
    </body>
    </html>
    En prenant bien garde qu'il n'y aie pas d'espaces ni de retours à la ligne avant <?php...

  5. #5
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 97
    Points : 89
    Points
    89
    Par défaut
    Fais plutot ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
      session_start() ;
    ?>
    <html>
    <head>
    </head>
    <body>
    </body>
    </html>
    Comme le dis Swoög, les headers sont déjàs envoyés, ce qui empèche de faire ton session_start();

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    OK merci ca fonctionne.

    Donc tous le code PHP sur les session doit se faire avant les balise HTML.
    Ou bien c'est seulement le session_start() ; qui doit être avant les balises HTML.


    Merci D'avance.

  7. #7
    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
    Que le session_start() et les header().

  8. #8
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par gailup
    OK merci ca fonctionne.

    Donc tous le code PHP sur les session doit se faire avant les balise HTML.
    Ou bien c'est seulement le session_start() ; qui doit être avant les balises HTML.


    Merci D'avance.
    Tout ce qui a trait aux sessions doit se faire avant que le moindre caractère ne soit envoyé vers ton navigateur. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
      echo "cette ligne empêche la transmission des infos de session";
      session_start() ;
    ?>
    <html>
    <head>
    </head>
    <body>
    </body>
    </html>
    Ceci ne fonctionnera pas, parce-que le echo va envoyer de l'info vers le navigateur.

  9. #9
    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
    Citation Envoyé par Eric Berger
    Tout ce qui a trait aux sessions doit se faire avant que le moindre caractère ne soit envoyé vers ton navigateur.
    Par contre les variables sessions fonctionnent nimporte où:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?
       session_start();
    ?>
    <html>
    <head>
    </head>
    <body>
    Traitement en cours ...
    <?
       $_SESSION['pseudo'] = "TOTO";
    ?>
     
    </body>
    </html>

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    OK

    Merci beaucoup.

  11. #11
    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
    D'une manière générale, tout ce qui envoie un header HTTP doit être fait AVANT l'envoie du premier caractère au navigateur...

    ce qui envoie un header HTTP c'est :
    header, setcookie (cookies envoiyés sous formes d'en-tête HTTP) et session_start (envoie d'un cookie) entre autres (je connais pas toutes les fonctions, mais ces les principales...)

    de plus, toute fonctions appellant une de ces fonctions est également soumis aux même exigences (logique )

  12. #12
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par Anduriel
    Par contre les variables sessions fonctionnent nimporte où:
    Arf.... c'est juste....

    Désolé pour l'info un peu foireuse...

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

Discussions similaires

  1. session_start() + frame = ?
    Par dev7 dans le forum Langage
    Réponses: 4
    Dernier message: 20/12/2005, 11h44
  2. problème avec session_start()
    Par hanane_iaai dans le forum Langage
    Réponses: 1
    Dernier message: 12/12/2005, 17h46
  3. Problème de session_start
    Par BARBIER dans le forum Langage
    Réponses: 18
    Dernier message: 08/12/2005, 14h29
  4. header('Location:$url') VS session_start()
    Par Paniez dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 22h30
  5. [Sécurité] utilisation de session_start()
    Par ibtisss dans le forum Langage
    Réponses: 3
    Dernier message: 23/09/2005, 18h40

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