Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2006, 14h55   #1
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 1
Points : 1
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
tfab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 15h04   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Je vois pas trop l'intérêt de la concaténation pour ta variable $texte enfin bon. Essaie en mettant \ devant > :
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 15h12   #3
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 1
Points : 1
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 !!
tfab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 16h16   #4
Membre actif
 
Avatar de Ricou13
 
Inscription : août 2002
Messages : 291
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 291
Points : 175
Points : 175
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;" ?
__________________
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
Ricou13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 16h20   #5
Membre actif
 
Avatar de Ricou13
 
Inscription : août 2002
Messages : 291
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 291
Points : 175
Points : 175
Ou c'est peut-être lié à l'interprétation faite des guillemets.

Essaie également, pour cette ligne uniquement :
Code :
 $texte .= '?' . '>' . "\n";
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
Ricou13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 16h27   #6
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 1
Points : 1
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'
tfab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 16h37   #7
Membre actif
 
Avatar de Ricou13
 
Inscription : août 2002
Messages : 291
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 291
Points : 175
Points : 175
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
Ricou13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h55.


 
 
 
 
Partenaires

Hébergement Web