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 :

Erreur d'ouverture de session "headers already sent" [Fait]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 50
    Points
    50
    Par défaut Erreur d'ouverture de session "headers already sent"
    Bonjour

    Je débute en php aussi mon problème peut-il vous parâitre bête, ne m' en veuillez pas.

    J' ai cette erreur:

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home.10.23/choopasi/www/projet-blog/contact.php:1) in
    /home.10.23/choopasi/www/projet-blog/configuration.inc.php on line 66

    Merci de m' éclairer à savoir comment m' en débarasser, même une piste pourra m' aider

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    où as-tu placer ton sessiont_start() dans ton code? peux-tu nous montrer le code des pages configuration.inc.php et contact.php?
    Comme le message d'erreur l'indique, Il faut que le session_start() soit executé avant que le header html ne soit envoyé.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 50
    Points
    50
    Par défaut
    Salut tout d' abord merci d' essayer de m' aider.

    Voici mon code:

    contact.php:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php include("configuration.inc.php");
    include("$repertoire_modele/haut.php");
    ?>
    <div class="page_contact">
    Ici du code html
    </div>
    <?php
    include("$repertoire_modele/bas.php");
    ?>

    haut.php:

    Code php : 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
    27
    28
    29
    30
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <title><?php echo $DOC_TITLE ?></title>
    </head>
    <body>
     
    <?php
    /*--------------------------------------------------------------------
    CONNECTION MYSQL 
    ----------------------------------------------------------------------*/
    // ******  Configuration - Debut ******
       $DBhost  = "host";   // Par exemple
       $DBowner = "name";  // ton login ftp
       $DBpw    = "pass";  // ton password SQL
       $DBName  = $DBowner;
    // ******  Configuration - Fin ******
     
          $fh_db = mysql_pconnect($DBhost, $DBowner, $DBpw);
     
    /*------------------------------------------------------------------
    Fin connexion
    ---------------------------------------------------------------------*/
     
    ?>
    <div id="page"> 
     
    <!-- Header du site -->
    <div id="top"></div>


    configuration.inc.php
    Code php : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    <?php 
     
    /*************************************************************************************/
    /*                                                                                   
    /*      PEEL	                                                            		 
    /*      Copyright (c) PEEL 2000 - 2007			                                     
    /*		email : info@peel.fr			        	                             	 
    /*      web : http://www.peel.fr						   							 
    /*      développement d'applicatifs en php natif		   							 
    /*************************************************************************************/
     
    $dirroot     			= dirname(__FILE__); 
    /*$wwwroot				= */
     
    $config 				= $dirroot."/lib/setup/info.inc.php";
     
    if (file_exists($config)){include $config;}
     
    if (empty($wwwroot) || empty($serveur_mysql) || empty($utilisateur_mysql) || empty($nom_de_la_base)) {
     
    header("Location:installer.php");
     
    } else {
     
    $repertoire_images 		= $wwwroot."/upload/";
    $repertoire_achat 		= $dirroot."/achat";
    $repertoire_modele 		= $dirroot."/modeles";
    $repertoire_upload 		= $dirroot."/upload";
    $libdir      			= $dirroot."/lib";
    $liste_mots    			= $dirroot."/liste_mots.txt";
    $my_max_file_size       = "102400"; # in bytes
    $image_max_width        = "500";
    $image_max_height       = "500";
    $the_path               = $dirroot."/upload/";
     
    $registered_types = array(
                                            "image/gif"                             => ".gif",
                                            "image/pjpeg"                           => ".jpg, .jpeg",
                                            "image/jpeg"                            => ".jpg, .jpeg",
    										"text/richtext"                         => ".txt, .rtf",
    										"application/pdf" 						=> ".pdf",
                                            "application/msword"                    => ".doc",
    										); 
     
    $allowed_types = array("image/gif","image/pjpeg","image/jpeg", "text/richtext", "application/pdf", "application/msword");
     
    require($dirroot."/lib/class/caddie.php");
     
    require($dirroot."/lib/class/mysql.php");
     
    session_start();
     
    session_register("SESSION");
     
    /* Ouverture de l'objet mysql */
    $db_host = $serveur_mysql;
     
    $db_username = $utilisateur_mysql;
     
    $db_password = $mot_de_passe_mysql;
     
    $db_name = $nom_de_la_base;
     
    $db_prefixe = "peel";
     
    $db = new DBLayer($db_host, $db_username, $db_password, $db_name, $db_password);
     
    // Initialisation de SESSION si nécessaire 
    if (! isset($_SESSION)) { $_SESSION = array();}
     
    // Initialisation de l'objet caddie si nécessaire 
    if (! isset($_SESSION['caddie'])) {
    	$_SESSION['caddie'] = new Caddie;
    }
     
    include($dirroot."/mysql.inc.php");
     
    // Initialisation de SESSION pour la couleur 
    if (! empty($_GET['style'])) 
     
    	{ $_SESSION['style'] = $_GET['style']; 
     
    	} elseif 
     
    	(empty($_SESSION['style'])) 
     
    	{ $_SESSION['style'] = "bleu"; 
     
    	}
     
    // Recherche de la feuille de style
     
    $stylefile = $wwwroot."/lib/css/".$_SESSION['style'].".css";
     
    // Déclaration des fonctions
     
    $fonctionsfile = $dirroot."/lib/fonctions/fonctions.php";
     
    if (file_exists($fonctionsfile)){
    require ($fonctionsfile);
    }
     
    }
    ?>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ok le problème réside dans le fichier configuration.inc.php


    start_session(); doit toujours se trouver tout en haut de ta page.

    Dans ton code actuelle,

    tu utilises la fonction header() et ensuite plus bas dans ton code tu utilises session_start(); ce qui n'est pas correct et te donne le message que tu as eu.

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 438
    Points : 15 812
    Points
    15 812
    Par défaut
    pour corriger cette erreur, regarde ce qui est là :
    http://php.developpez.com/faq/?page=...s_already_sent

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 50
    Points
    50
    Par défaut
    Je te remercie infiniment de l' aide précieuse que tu m' as apporté car c' est suer urgent.

    Mais le hic quand même c' est que ce n' est pas moi qui ai écrit le code de ce fichier, c' est un open source très sérieux.

    Je vais essayer demain en croisant les doigts, mais bon...Ya des chances que le problème se situe ailleurs je t' en ferai part demain et on verra si tu avais raison.

    @plus

  7. #7
    Invité
    Invité(e)
    Par défaut Petite rectification...
    Salut,


    Il me semble que tu n'as pas montré l'entiereté de tes erreurs liées aux sessions.

    Je viens d'aller sur le forum de peel et des erreurs similaires sont recensées.

    http://forum.peel.fr/index.php?showt...l=already+sent

    Mais ce n'est pas lié au header car il y a une erreur qui se présente juste avant le "headers already sent":

    Warning: session_start() [function.session-start]: open(/mnt/126/sdb/c/b/mustela/sessions/sess_d5e5a29ed5b27138599919a7f08b0864, O_RDWR) failed: No such file or directory (2) in /mnt/126/sdb/c/b/mustela/magasin/configuration.inc.php on line 62
    Est-ce que tu as une erreur de ce style sur ta page? Est-ce que ton hebergeur est free ou online??

  8. #8
    Membre habitué
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 87
    Points : 186
    Points
    186
    Par défaut
    Sibile, un truc aussi très facile c'est le output buffering.

    Donc au début de ton fichier met :
    et à la fin complètement:
    Je dirais que c'est la solution la plus simple et la plus facile dans le cas actuel.

Discussions similaires

  1. Réponses: 9
    Dernier message: 15/01/2016, 00h20
  2. Cannot send session cookie - headers already sent by
    Par menekis dans le forum Langage
    Réponses: 2
    Dernier message: 09/07/2009, 16h22
  3. une session folle ! (headers already sent ...)
    Par php4life dans le forum Langage
    Réponses: 1
    Dernier message: 27/01/2007, 17h19
  4. [Cookies] Erreur d'ouverture de sessions
    Par arnogef dans le forum Langage
    Réponses: 10
    Dernier message: 04/11/2006, 12h52
  5. Réponses: 11
    Dernier message: 11/05/2006, 12h16

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