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 :

Fonction session_start : impossible à faire fonctionner


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Avril 2002
    Messages : 38
    Points : 24
    Points
    24
    Par défaut Fonction session_start : impossible à faire fonctionner
    Voici le pauvre code que je tente de mettre en place. Comme indiqué dans la FAQ rien avant session_start () ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php 
    session_start(); 
    ?>
    <HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    	<head>
    		<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
    		<title>FICHE D INCIDENT</title>
    		<meta http-equiv="content-style-type" content="text/css">
    		<meta http-equiv="expires" content="0">
    		<link rel="stylesheet" href="frame.css" type="text/css" media="all">
    	</head>
    	<body>
    		Bonjour
    	</body>
    </html>
    Et pourtant toujours le même interminable message :

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/eric/public_html/prod2/session.php:1) in /home/eric/public_html/prod2/session.php on line 2

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/eric/public_html/prod2/session.php:1) in /home/eric/public_html/prod2/session.php on line 2
    Si quelqu'un avait l'amabilité d e m'aider ... Sinon, le code est enregistré au format UTF8

    phpinfo () indique :

    Session Support enabled
    Registered save handlers files user

    Directive Local Value Master Value
    session.auto_start Off Off
    session.bug_compat_42 On On
    session.bug_compat_warn On On
    session.cache_expire 180 180
    session.cache_limiter nocache nocache
    session.cookie_domain no value no value
    session.cookie_lifetime 0 0
    session.cookie_path / /
    session.cookie_secure Off Off
    session.entropy_file no value no value
    session.entropy_length 0 0
    session.gc_divisor 100 100
    session.gc_maxlifetime 1440 1440
    session.gc_probability 0 0
    session.name PHPSESSID PHPSESSID
    session.referer_check no value no value
    session.save_handler files files
    session.save_path /var/lib/php4 /var/lib/php4
    session.serialize_handler php php
    session.use_cookies On On
    session.use_only_cookies Off Off
    session.use_trans_sid Off Off
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    ici, PHP t'informe d'un problème «headers»,
    les sessions doivent être en tout début de page (toujours avant des sorties)

    Sinon, en fonctions de l'hébergeur, tu peux avoir des problèmes
    Free par exemple, tu dois crée un répertoire sessions à la racine de ton site.

    Pour corrigé ton problème, il te suffit de mettre session_start(); avant une sortie HTML ou un echo.
    (je pense que ton code si dessus est pas exactement celui que tu testes, ou alors il est inclue par un autre fichier)

  3. #3
    Membre régulier Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Points : 102
    Points
    102
    Par défaut
    Salut,

    Je viens d'essayer ton code et il marche, sauf que... Tu as sauté une ligne avant l'ouverture de <?php ce qui revient à afficher quelque chose...

    Donc au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <?php
    session_start();
    ?>
    Fait bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    session_start();
    ?>
    Celà dit, c'est peut être juste ta copie dans le forum qui suate une ligne, peut etre pas ton script. Dans ce cas, je vois pas, chez moi il fonctionne...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    je pense que tu as mi le doigt sur quelque chose de très bête mais qui mérite d'être souligné
    (personnellement c'est une type d'erreur qui grâce à toi, je n'oublierais pas, j'espère, zamanika merci )

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Avril 2002
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par zamanika
    Salut,

    Je viens d'essayer ton code et il marche, sauf que... Tu as sauté une ligne avant l'ouverture de <?php ce qui revient à afficher quelque chose...

    Donc au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <?php
    session_start();
    ?>
    Fait bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    session_start();
    ?>
    Celà dit, c'est peut être juste ta copie dans le forum qui suate une ligne, peut etre pas ton script. Dans ce cas, je vois pas, chez moi il fonctionne...
    Non c'est de ma faute, j'ai mal inséré la balise quand j'ai envoyé mon message. Par contre avec hexedit j'ai vu qu'il y avait 3 octets en début du fichier EF BB BF. Je pense que le souci vient de là maintenant que vous me confirmez que mon code est correct mais connaîtriez vous un moyen simple de supprimer ces caractères ...

  6. #6
    Membre régulier Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Points : 102
    Points
    102
    Par défaut
    Salut,

    Si tu fais un fichiers php avec juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php 
    session_start();
    ?>
    Est-ce que ça marche ?

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Avril 2002
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par lesouriciergris
    Non c'est de ma faute, j'ai mal inséré la balise quand j'ai envoyé mon message. Par contre avec hexedit j'ai vu qu'il y avait 3 octets en début du fichier EF BB BF. Je pense que le souci vient de là maintenant que vous me confirmez que mon code est correct mais connaîtriez vous un moyen simple de supprimer ces caractères ...
    Ok le problème était bien dans le BOM. J'ai utilisé hexeditor -b pour supprimer les caractères mis en causes.

    Ouf je respire.

    Merci en tout cas.

    Eric

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    T'as vraiment eu un problème

    franchement zamanika bravo! fallait la trouver cela

  9. #9
    Membre régulier Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Points : 102
    Points
    102
    Par défaut
    Citation Envoyé par juJuv51
    fallait la trouver cela
    Il m'est arrivé de passer plusieurs heures sur un problème de session qui ne marchait pas à cause d'un bête retour à la ligne . Donc à chaque fois que je vois un problème de session j'y pense

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    ouais

    perso, je trouve que c'est un problème très sournois
    merci en tout cas, parce que ça en fait profité tout le monde

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Merci beaucoup pour cette solution
    je devenai fou a tenter de comprendre pourquoi ma session ne fonctionnai pas et apres avoir lu ce post j'ai editer mon fichier php et avec un editeur hexa et retirer 3 octet qui se trouvaient avant <?php et cela a regler mon probleme dans 2 fichier different

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

Discussions similaires

  1. SQLite3 : Impossible à faire fonctionner
    Par FotoXe33 dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 22/07/2011, 17h06
  2. [RegEx] Regex impossible à faire fonctionner
    Par Shirraz dans le forum Langage
    Réponses: 1
    Dernier message: 08/07/2010, 14h31
  3. Réponses: 5
    Dernier message: 22/03/2006, 10h39
  4. [MySQL] Je cherche à faire fonctionner la fonction ADDTIME sur la version 4.0.13
    Par SURF52 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2005, 16h17
  5. impossible de faire fonctionner phppgadmin et pgdmin3
    Par le_ben dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 09/12/2004, 14h27

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