130 votes

"Impossible d'envoyer un limiteur de cache de session - les en-têtes déjà envoyés"

Double Possible:
PHP headers already sent
Les en-têtes déjà envoyé par PHP

Avoir un problème avec les sessions qui est en train de devenir très ennuyeux. Chaque fois que j'essaie de démarrer une session sur une page en particulier, j'obtiens l'erreur suivante:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ............ on line 23

en utilisant ce code:

<?php
session_start();
if(isset($_SESSION['user']))
    {
        $user = $_SESSION['user'];
        echo "$user";
    }
else
    {
    }
?> 

Est-il suggère que je l'ai déjà utilisé la fonction session_start(); ? Ive a eu un coup d'oeil autour, mais rien de vraiment efface ce pour moi.

Merci

263voto

houbysoft Points 9773

"En-têtes déjà envoyés" signifie que votre script PHP a déjà envoyé les en-têtes HTTP et qu'il ne peut donc les modifier pour le moment.

Vérifiez que vous n’envoyez AUCUN contenu avant d’appeler session_start . Mieux encore, faites simplement session_start la première chose que vous faites dans votre fichier PHP (placez-la donc au début absolu, avant tout le code HTML, etc.).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X