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


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 45
    Points : 34
    Points
    34
    Par défaut Cannot send session cache limiter - headers already sent
    Bonjour,

    J'aimerai permettre le choix d'un langage d'un site web, sans mettre ce choix dans l'url, pour cela, j'ai fait :
    Dans index.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
    <?php
    session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
    <head>
    	//Code
    </head>
    <body>
    	<div id="global">
    		<div id="header">	
    			<?php
    				include 'header.php';
    			?>
    		</div>
             //Code
    Dans header.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
    27
    28
    29
    30
    31
    32
    33
    34
    <?php 
       if (!empty($_SESSION['lang']) && $_SESSION['lang']=='EN') {
          include("/lib/lang/en-lang.php");
       } else if (!empty($_SESSION['lang']) && $_SESSION['lang']=='FR') {
          include("/lib/lang/fr-lang.php");
       } else {
          $_SESSION['lang']='EN';
          include($relative_path."/lib/lang/en-lang.php");
       }
    ?>
    <script type="text/javascript">
    jQuery().ready(function(){
    	$("#langfr").click(function(){
    		$.ajax({
    			type: "POST",
    			url: "../lib/lang/langfr.php",
    		}).done(function(e) {
    			location.reload();
    		});
    	});
    	$("#langen").click(function(){
    		$.ajax({
    			type: "POST",
    			url: "../lib/lang/langen.php",
    		}).done(function(e) {
    			location.reload();
    		});
    	});
    });
    </script>
    <div id="lang">
    	<a href="#" id="langfr">FR</a>
    	<a href="#" id="langen">EN</a>
    </div>
    Dans langfr.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    $_SESSION['lang']='FR';
    ?>
    Dans langen.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    $_SESSION['lang']='EN';
    ?>
    Mais, j'ai cette erreur :
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
    sur langfr.php et langen.php

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Explications et correction de l'erreur "headers already sent"
    Vérifier qu'il n'y a rien avant la balise <?php avec le session_start

    Au passage, il te manque une quote là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include(/lib/lang/en-lang.php");
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 45
    Points : 34
    Points
    34
    Par défaut Autre problème
    Ok ! Je n'ai plus l'erreur merci !

    Cela fonctionne!

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

Discussions similaires

  1. 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
  2. Réponses: 10
    Dernier message: 19/06/2008, 14h27
  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