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 :

Cannot send session cache limiter - headers already sent [Fait]


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut Cannot send session cache limiter - headers already sent
    Bonjour,
    J'ai ce message qui s'affiche lorsque j'ouvre une page :
    [citation]
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\totalezinzin\config\js.html:130) in C:\wamp\www\totalezinzin\config\session.php on line 3
    [/citation]

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php 
    include_once("config/js.html"); 
    include_once('config/session.php');
    include_once("config/param.php");
    include_once('config/fct.php');
    ?>
    </head>
    Tout fonctionne correctement hors mis ce message !
    Je sais que je dois commencer par session_start();
    Si je met l'include de la session avant celui du js.html , je n'ai plus d'erreur mais alors j'ai un problème dans mon code...
    Je dois absolument avoir tout d'abord mon js.html qui ne comporte que des fonctions..

    Comment pourrais-je éviter le problème ? :s

  2. #2
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut
    voici ce que contenait mon session.inc.php :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?php
    /********************************************************************************* GERER LA SESSION DE L'UTILISATEUR *************************************************************************************/
    session_start();
    define ('SESSION_TIMEOUT', "1800"); // définition du timeout de la session (ici , apres 1800 sec -> deco ! )
     
    if(isset($_SESSION["username"]))
    {
        echo('<script language="javascript"> setStatus(true,"'.$_SESSION["username"].'");</script>');
        // On vérifie si le temps d'inactivité n'a pas été dépassé
        if(time()-$_SESSION['last_access'] > SESSION_TIMEOUT)
        {
            logout();
        }
        else
        {
            // On stocke l'heure de dernière connexion
            // time s'exprime en secondes à partir du 01/01/70 à 00:00:00
            $_SESSION['last_access'] = time();
        }
    }
    else
      echo('<script language="javascript"> setStatus(false," ");</script>');
     
     
    ?>
    Solution : j'ai sorti le session_start(); du module , et je l'ai mis avant le "include' du js.html..
    ça fonctionne.. mais je trouve plus structuré de le laisser dedans..
    J'aimerais savoir si c'est possible

  3. #3
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Oui, c'est possible.

    Vérifie bien que tu n'as pas laissé un espace avant l'ouverture de la balise php placé devant ton session_start();.

    Ce lien pourrait t'être utile...
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  4. #4
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut
    Et bien c'est exactement comme indiqué plus haut :/ je n'y vois pas de mauvais placement :o

    Enfin.. j'vais garder ma deuxième solution alors ^^

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    C'est sans doute le premier include qui affiche du code JS ou HTML, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include_once("config/js.html");

  6. #6
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut
    Citation Envoyé par Yogui Voir le message
    Salut

    C'est sans doute le premier include qui affiche du code JS ou HTML, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include_once("config/js.html");
    Et bien j'ai uploadé tout sur le net.. c'est encore pire :
    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
    17
    18
    19
    20
     
    <head>
       <?php session_start();?>
      <title> Vente d'articles divers , vêtements - TotaleZinzin Shop </title>
      <meta http-equiv="Content-Type" content="text/html"; charset="iso-8859-1" />
      <meta name="author" content="Tnourji M." />
    <meta name="owner" content="Tnourji M. & TotaleZinZin" />
    <meta name="description" content="Vous voulez achetez moins chère? par ici!/>
    <meta name="keywords" content="Vêtements,objets,acheter,occasion,moins chère,prix,jouets,totale,zinzin,totale zinzin"/> 
           <link rel="stylesheet" media="screen" type="text/css" title="Design" href="tzdesign.css" />
     
    <?php
    include_once("config/js.html"); 
    include_once('config/session.php');
    include_once("config/param.php");
    include_once('config/fct.php');
     
     
    ?>
    </head>
    Et pourtant :

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

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /¨¨¨¨/public_html/index.php:2) in /¨¨¨¨/public_html/index.php on line 2
    à s'arracher les cheveux !

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Si tu relis bien ce qui est expliqué ici, je pense que tu comprendras très bien où est le problème :
    http://php.developpez.com/faq/index....s_already_sent
    http://g-rossolini.developpez.com/tu...concepts#LVI-E

  8. #8
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut
    Citation Envoyé par Yogui Voir le message
    Si tu relis bien ce qui est expliqué ici, je pense que tu comprendras très bien où est le problème :
    http://php.developpez.com/faq/index....s_already_sent
    http://g-rossolini.developpez.com/tu...concepts#LVI-E
    Et bien j'ai bien compris qu'il y'avait un flux déjà envoyé au client.. mais même en première commande du <head> ça ne fonctionne pas , étonnant..
    Enfin j'l'ai mis en toute première ligne et pas de problème..

    J'aurai appris quelque chose ^^ Merci.

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Oui, c'est justement le <head> qui est le contenu déjà envoyé.
    Il faut bien faire la distinction entre un header HTTP et un header HTML, or <head> fait partie de la seconde catégorie tandis que ton erreur est relative à la première

  10. #10
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut
    Merci pour ces commentaires instructifs

    ps: en local avec wampserver , il ne me causait aucun problème si je mettais le session_start() un peu plus loin :s

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Cela dépend aussi de ces directives du php.ini :
    • error_reporting
    • display_errors

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

Discussions similaires

  1. Cannot send session cache limiter - headers already sent
    Par lea.soineca dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2014, 14h06
  2. session_start() : Cannot send session cache limiter - headers already sent
    Par Keweed dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/09/2009, 10h14
  3. Cannot send session cache limiter
    Par ChTiRiBi dans le forum Langage
    Réponses: 6
    Dernier message: 02/06/2008, 01h06
  4. Réponses: 2
    Dernier message: 18/12/2007, 21h59
  5. Réponses: 1
    Dernier message: 24/06/2007, 20h16

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