Vous êtes ici Codes PHP et MySQL > Inclassable > Comment enlever le message d'erreur : headers...

 

Comment enlever le message d'erreur : headers already sent

Vous en avez ras le bol des messages d'erreur du genre : "Cannot send session cookie - headers already sent" car vous avez du HTML en sortie ou voir un simple retour chariot perdu au millieu de lignes de code ce qui rempli gentiment votre cache et vous retourne un headers already sent.
La fonction ob_start() va vous permettre de placer ces datas dans un buffer (mémoire tampon) pour que vous puissiez effectuer en toute tranquilité vos redirections ou envoie de cookies!
 
Matt
Site de l'auteur voir
[13] sources en PHP voir
Code vu 8208 fois
Enregistré le 15 Jan 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Comment enlever le message d'erreur : headers already sent
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
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.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Comment enlever le message d'erreur : headers already...  */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts325-PHP.htm              */
/* Auteur         : Matt                                                      */
/* Date édition   : 15 Jan 2008                                               */
/* Website auteur : http://www.france-relations.com                           */
/*                                                                            */
/******************************************************************************/
?>

<?php

// initialise la mémoire tampon
ob_start();

// imprime
echo 'I love PHP';

// redirection
header("Location: http://www.site.ext/");

// tout va trés bien !! enjoy ;)

?> 
 

Fonctions du code

: Enclenche la tamporisation de sortie - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Envoie un en-tête HTTP - (PHP 4, PHP 5)
Commentaires
C'est quoi l'intêret d'afficher du texte qui ne sera jamais lu par le visiteur ? Le principe d'un en-tête c'est justement d'être en haut, avant tout envoi au navigateur !
 

Si on place du code html ou texte avant l'envoi d'un header, on a un message d'erreur. Ce code permet de ne plus avoir ce problème.
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 

Connexion

 
 

Inclassable

 
 

PHP

 
 
        Publicité