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 valide alors que le html est envoyé [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Header valide alors que le html est envoyé
    Bonjour,
    Je dois finir par confondre où je rêve
    Moi qui passe mon temps à expliquer que si un envoi a été réalisé
    vers le visiteur (client) header ne peut plus être employé ...

    J'ai un PHP qui envoie via un include tout le doctype de ma page HTML

    Or, le PHP en question suit une logique de contrôle, et dans la condition la plus courante faite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
      if(!isset($LaVar))
       {
        $_SESSION["pseudo"] = "";
        header("location:un-autre-php.php");
       }
    ?>
    Ors il ne me met aucun message d'erreur
    Pouvez-vous m'éclairer ... merci
    Christele
    Dernière modification par Bovino ; 05/02/2013 à 08h53.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    output_buffering à On dans le php.ini?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    output_buffering à On dans le php.ini?
    Merci de ta réponse,
    Je n'ais jamais été a ON , mais j'ais installé le même PHP que bien des serveurs, (5.3)
    Ors je découvre ceci
    http://php.net/manual/fr/outcontrol.configuration.php
    Vous pouvez activer la bufferisation de sortie pour tous les fichiers avec cette directive, en lui passant la valeur On. Si vous souhaitez limiter la taille du buffer à une certaine taille, vous pouvez alors indiquer un nombre maximum d'octets à la place de On. Par exemple, output_buffering=4096). Depuis PHP 4.3.5, cette directive est toujours désactivée en ligne de commande.
    Je vais mettre "0" pour voir et je te tiens au courant !
    Christele

    C'est bien mon cas en local, en plus c'est le cas du serveur qui abrite ce PHP ...

  4. #4
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Classique mais on se fait tous avoir un jour où l'autre : tu as bien vérifié que tu n'as pas de BOM ou de retour chariot qui traîne ?

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par k'amm Voir le message
    Classique mais on se fait tous avoir un jour où l'autre : tu as bien vérifié que tu n'as pas de BOM ou de retour chariot qui traîne ?
    C'est bien la question: elle envoie un doctype d'abord, puis fait une redirection, et ça marche (c'est bien ça la redirection marche? Ce n'est pas juste l'absence de message d'erreur?)

    Tu as vérifié que tu n'utilises pas de bibliothèques ayant des fonctions d'output buffering?

    Est-ce que tu as vérifié quelles en-têtes le serveur envoie réellement?

  6. #6
    Invité
    Invité(e)
    Par défaut
    NON NON ne cherche plus, c'est bien mon PHP qui est 5.3 !
    (et pour ta question oui le header se passe bien ! = nouvelle page chargée )

    Bref pour étre compatible avec toutes les versions PHP des vieux serveurs j'ais remplacé
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
      if(!isset($LaVar))
       {
        $_SESSION["pseudo"] = "";
        header("location:un-autre-php.php");
       }
    ?>
    Par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
      if(!isset($LaVar))
       {
        $_SESSION["pseudo"] = "";
        echo '<meta http-equiv="refresh" content="0;URL=un-autre-php.php">';
        exit;
       }
    ?>

    Voila affaire résolue
    Merci encore
    Christele

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

Discussions similaires

  1. "Undefined reference"s, alors que le linker est normalement configuré !
    Par kidpaddle2 dans le forum Autres éditeurs
    Réponses: 17
    Dernier message: 10/06/2008, 20h49
  2. Fichier introuvable mdw alors que le chemin est correct
    Par laurent.w dans le forum Sécurité
    Réponses: 2
    Dernier message: 01/02/2007, 15h30
  3. Réponses: 7
    Dernier message: 30/12/2006, 17h13
  4. Apache m'affiche les "Notice" alors que je l'est d
    Par mr_neness dans le forum Apache
    Réponses: 4
    Dernier message: 14/03/2006, 11h47
  5. [9i]erreur de type alors que le type est le meme...
    Par hoaxpunk dans le forum Oracle
    Réponses: 12
    Dernier message: 01/02/2006, 17h45

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