|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 3 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Je vois pas trop l'intérêt de la concaténation pour ta variable $texte enfin bon. Essaie en mettant \ devant >
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 3 ![]() |
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 !! |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : août 2002 Messages : 291 ![]() |
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 ">" ?
__________________
il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre. Paul Eluard Des fois ça malche, des fois ça malche pas. Garcimore
|
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : août 2002 Messages : 291 ![]() |
Ou c'est peut-être lié à l'interprétation faite des guillemets.
Essaie également, pour cette ligne uniquement :Le \n restant entre guillemets, sinon, il n'est pas interprété en tant que retour de ligne.
__________________
il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre. Paul Eluard Des fois ça malche, des fois ça malche pas. Garcimore
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 3 ![]() |
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' |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : août 2002 Messages : 291 ![]() |
Cool !
Un petit [Résolu] alors...
__________________
il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre. Paul Eluard Des fois ça malche, des fois ça malche pas. Garcimore
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com