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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Configuration] code PHP renvoyé à l'écran apres le signe >


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [Configuration] code PHP renvoyé à l'écran apres le signe >
    Apres avoir installé wamp5 et le cms SPIP-Agora, les premieres pages php sont interprétés correctement jusqu'à une page affichant le code source php dans le navigateur. En fait, le signe > semble poser problème et renvoyer à l'écran tout le texte qui lui succède.
    On a:

    Dans le programme:
    $texte .= "?".">\n";
    if ($f = fopen($fichier_auth, "wb")) {corr...

    A l'écran:
    \n";
    if ($f = fopen($fichier_auth, "wb")) {corr...

    Apres vérification il n'y a pas d'oubli de guillemets dans le code. On dirait qu'il y a une "redirection" du code à l'écran. Comment cela se peut il ? Pourrait il venir de la configuration ou version de PHP installée ?
    merci

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Je vois pas trop l'intérêt de la concaténation pour ta variable $texte enfin bon. Essaie en mettant \ devant > :

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    merci de répondre si rapidement

    En fait ce n'est pas mon code, puisqu'il s'agit du code de SPIP Agora (un fork de SPIP). Ce code est censé marcher, n'étant pas le premier à utiliser ce CMS. On dirait que l'interpretateur PHP comprend le signe > comme fin de balise, meme avec la présence des guillemets. D'où mon intérogation sur la config de l'interpreteur ? (désolé de ces questions de débutant)

    voici le code plus complet. Il me semble qu'une page est construite à la main dans la variable texte:

    $texte = "<"."?php\n";
    $vars=auth_Article($idPoids);
    for(reset($GLOBALS['auth_$idPoids']);$key=key($GLOBALS['auth_$idPoids']);next($GLOBALS['auth_$idPoids']))
    {
    $value=pos($GLOBALS['auth_$idPoids']);
    $texte .= "\$GLOBALS['auth_$idPoids']['$key'] = '".addslashes($value)."';\n";
    }

    $texte .="\n\n\$GLOBALS['refStatutArticle']['archi']='archiverArticle';\n";
    $texte .="\$GLOBALS['refStatutArticle']['publie']='publierArticle';\n";
    $texte .="\$GLOBALS['refStatutArticle']['poubelle']='supprimerArticle';\n";
    $texte .="\$GLOBALS['refStatutArticle']['prop']='proposerArticle';\n";
    $texte .="\$GLOBALS['refStatutArticle']['refuse']='refuserArticle';\n";
    $texte .="\$GLOBALS['refStatutArticle']['valid']='validerArticle';\n";
    $texte .="\$GLOBALS['refStatutArticle']['prepa']='encoursArticle';\n\n";

    $texte .= "?".">\n";

    PS:j'ai essayé en insérant \> à la place de >, mais meme pb
    PS2: Assez étonnant: j'ai mis la ligne en commentaire par le double slash //, mais l'interpreteur continue à "voir" la fin de balise !!

  4. #4
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Salut,

    On dirait que c'est interprété comme une "vraie" fin de balise php : "?>"
    Donc ce qui suit est interprété comme du HTML et donc affiché tel quel à l'écran.

    Voilà pour le pourquoi de l'affichage.
    Par contre, pour le pourquoi de l'interprétation... ?

    Et si tu remplace le ">" par un "&gt;" ?

  5. #5
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Ou c'est peut-être lié à l'interprétation faite des guillemets.

    Essaie également, pour cette ligne uniquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $texte .= '?' . '>' . "\n";
    Le \n restant entre guillemets, sinon, il n'est pas interprété en tant que retour de ligne.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    bonne suggestion

    mais j'ai remédié au problème, qui était bien lié à la config de l'interpreteur:
    Apres installation du package WAMP5 1.6.1, par défaut dans php.ini la variable short_open_tag = Off

    La variable short_open_tag définit si le parseur doit reconnaître les balises raccourcies <?...?>, ainsi que les balises standard <?php...?>. Désactivez-la si vous prévoyez des conflits avec d'autres langages ou si vous voulez appliquer des règles syntaxiques strictes à votre code PHP.

    En la mettant à On les > ne posent plus de problème.
    En tout cas merci de votre aide

    TFab'

  7. #7
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Cool !

    Un petit [Résolu] alors...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2008, 15h15
  2. Interpréter un code PHP après formulaire
    Par Anduriel dans le forum Langage
    Réponses: 2
    Dernier message: 16/08/2007, 20h34
  3. [Configuration] exécuter un code php
    Par liverbird dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 14/06/2007, 10h46
  4. [EasyPHP] Configurer Easy PHP 1.8 pour les codes php4
    Par Alexandrebox dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 41
    Dernier message: 20/02/2007, 15h15
  5. Réponses: 4
    Dernier message: 15/12/2005, 18h28

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