Bufferisation avec php et header()

WRInaute accro
Bonsoir,

j'ai un problème que je n'arrive pas à résoudre un problème avec l'utilisation de la bufferisation et l'envoi d'entête.

Voici en gros le code :
Code:
    ob_start();  // demarrage de la bufferisation

    // traitement des données, etc...

    $donnees = ob_get_contents();  // recupération des données du buffer
    ob_end_clean();  // vidage du buffer

    // autre traitement

    si(erreur)
    {
        header("",true,500);
        exit('message d\'erreur !')
    }

Le problème est que lorsque j'utilise la bufferisation l'entête ne prend pas...
Comment faire pour utiliser la bufferisation tout en pouvant envoyer derrière l'entête souhaitée...?

En espérant que quelqu'un pourra m'aider.
 
WRInaute discret
"entête ne prend pas"
kesako ?

c'est peut etre l'heure mais ma tete ne prend pas non plus... tu veux dire quoi ?
 
WRInaute accro
Après la bufferisation, l'entete n'a pas l'air d'être envoyé.

A savoir que je n'ai pas d'erreur parce que le header() est mal placé, cela n'a rien à voir. Seulement lorsque je regarde les entêtes sous firefox, il me donne le code 200 alors que je devrait avoir celui que je retourne soit 500...
 
WRInaute discret
En gros tu fais ca et tu n'as pas le code 500 ?


ob_start();
$donnees = ob_get_contents();
ob_end_clean(); // vidage du buffer
header("",true,500);


c'est bizzard... le code devrait passer pourtant. Tu as essayé de faire ca pour voir ?

ob_start();
ob_start();
//traitement
$donnees = ob_get_contents();
ob_end_clean(); // vidage du buffer
header("",true,500);
ob_end_flush();
 
Discussions similaires
Haut