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 :

Header Http ob_start()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 21
    Par défaut Header Http ob_start()
    Bonjour

    Je developpe une appli en php 5 en respectant MVC2
    Dans ma couche presentation je veux faire des redirections en utilisant
    <? php

    Header('Location: mapage.php?action=toto');
    ?>

    J'ai une erreur d'execution " header deja envoyé"

    Apres des recherches avec mon ami Google, j'ai trouve la fonction ob_start qui bufferise les entetes http jusqu'a l'appele de la fonction ob_end_flush()

    Puis je mettre ob_start dans tous mes fichiers ?

    Que se passe t'il si je met des ob_start ds plusieurs pages php distinctes sans jamais appeler ob_end_flush ?

    Et quand dois je appeler ob_end_flush ?
    exemple:

    <? php
    ob_start();

    Header('Location: mapage.php?action=toto');

    // si je met ob_end_flush ici la la redirection est deja effectue
    ?>


    merci de vos reponses

  2. #2
    Membre chevronné Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    L'avantage de la bufferisation c'est que tu traite tes informations dans le sens que tu veux avec des header, des session_start des set_cookie un peu partout. Et seulement à la fin tu flush.

    Donc dans tous les fichiers qui affichent quelque chose oui tu peux mettre des ob_start (même dans les autres même si c'est pas très util)

    à prioris chaque execution de page est distincte donc si tu n'appelle pas flush avant la fin tu perd les données bufferisée.

    Et donc flush s'appelle en général à la fin. En tout cas après tout ce qui est header, set_cookie ou session_start.

Discussions similaires

  1. [Axis] Headers HTTP
    Par getupa dans le forum Services Web
    Réponses: 4
    Dernier message: 28/06/2010, 14h41
  2. header HTTP: User-Agent, la compil
    Par Lancelot du Lac dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 17/03/2008, 02h02
  3. Collecttion nommée pour headers HTTP
    Par smartdev dans le forum C++
    Réponses: 1
    Dernier message: 25/09/2007, 18h11
  4. Comment passer des headers http ?
    Par Loko dans le forum Oracle
    Réponses: 5
    Dernier message: 15/11/2006, 09h19

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