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() : ok sur certains serveurs, pb sur d'autres


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 24
    Points : 15
    Points
    15
    Par défaut header() : ok sur certains serveurs, pb sur d'autres
    bonjour

    en local avec Easy PHP, les redirections avec header("location: ...")
    fontionnent bien ( de meme sur un autre serveur)


    par contre sur un 3eme, ca ne fonctionne pas


    savez vous de quoi cela depend ?
    un parametre de l'installation PHP ?


    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ne fonctionne pas ? c'est à dire que tu restes sur la même page ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    oui, c'est cela,
    je reste sur la même page
    et je ne reçois aucun message d'erreur (sauf le echo placé juste avant)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $loc_retour = 'Location:index.php';
                          echo $loc_retour  ; 
    	         header($loc_retour);

    -----------------------------------
    cependant pour développer avec easyphp , j'ai mis sur tout programme
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ERROR | E_PARSE);
    ce qui désactive les warnings, il y en a trop sur la derniere version de easyphp,

    je retire l'instruction

    sur le serveur : toujours aucun effet , aucun message sauf le echo
    et
    Warning: Cannot modify header information - headers already sent by ....
    et sur easyphp, ça ne fonctionne plus non plus !


    comprends rien, à l'aide , merci

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    Tu ne dois envoyer aucune caractère au navigateur (comme ton echo) avant un header. Discussion mainte fois résolues.

    A+.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    non le echo ne gene pas ( ce n'est pas du HTLM)

    d'autre part le pb est là SANS le echo ( le echo a juste été mis apres pour verifier au cas où )

    mon pb est vraiment que :

    le programme est OK quand l'appli est sur easyphp en local et sur un autre serveur gerée par une boite ou je bosse

    mais par contre l'appel à header(..) est HS sur un site hebergé par un fournisseur d'hebergement ( en l'occurence AMEN)


    donc il y a une autre raison qui empeche header() d'agir

    laquelle ?

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par zephira Voir le message
    non le echo ne gene pas ( ce n'est pas du HTLM)
    Faux, comme on essaie de vous le dire.

    Citation Envoyé par zephira Voir le message
    le programme est OK quand l'appli est sur easyphp en local et sur un autre serveur gerée par une boite ou je bosse

    mais par contre l'appel à header(..) est HS sur un site hebergé par un fournisseur d'hebergement ( en l'occurence AMEN)
    Parce que sur les serveurs où ça ne gêne pas, vous avez probablement l'output_buffering d'activé mais pas sur les autres.

    Et il y a peut être un BOM ou autre dans votre source, si l'erreur se présente même sans votre ligne echo.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Merci Julp

    sur easyphp , là ou header() fonctionne

    output_buffering =4096

    tandis que sur l'autre serveur

    output_buffering = Off


    j'ai mis output_buffering = Off sur le php en local , et header() ne marche plus ;
    donc il ne me reste plus qu'à mettre 4096 sur les 2 et ca devrait marcher

    ----------------
    par contre, si je comprends bien la doc sur output_buffering , il semble que la valeur Off soit preferable ,

    donc " peut être un BOM ou autre " dans le source comme tu le dis

    mais c'est quoi un BOM ? qu'est ce que je dois chercher exactement ?

    encore merci de votre aide



    --------------------------------
    ps : et oui bien sur un echo est genant, désolée

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    wikipedia : BOM or bom may refer to:


    Bank of Mongolia
    Board of Managers, or Board of Directors
    Business Object Model
    Byte-order mark (U+FEFF), a Unicode character
    Chloroalkyl ether abbreviation for benzyloxymethyl
    BOM (psychedelic), 3,4,5,beta-tetramethoxyphenethylamine, a psychedelic
    .....
    ...

    donc ca serait Byte-order mark (U+FEFF), a Unicode character ?


    ok merci à tous,
    ( et m'en vais tout passer en UTF-8)

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

Discussions similaires

  1. Création aléatoire d'une table sur certains serveurs
    Par pierre50 dans le forum Requêtes
    Réponses: 0
    Dernier message: 28/09/2014, 17h44
  2. [ZF 1.7] [Zend_Lucene] $doc->addField ne fonctionne pas sur certains serveurs
    Par JeanVcrt dans le forum Autres composants
    Réponses: 1
    Dernier message: 13/02/2009, 12h00
  3. [Utilisation] Comparaison des versions sur le serveur et sur le client
    Par ruff15 dans le forum CVS
    Réponses: 1
    Dernier message: 18/03/2007, 15h54
  4. Réponses: 4
    Dernier message: 23/01/2006, 18h26

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