OVH Cloud OVH Cloud

pb

5 réponses
Avatar
Aurélien
Bonjour, et joyeux Noël !

j'ai un souci de coexistence entre php et javascript.
Quand j'inclus dans ma page index.php un script avec
<script type="text/javascript" src="..." />
ça fonctionne très bien mais si je mets le même script "en ligne" avec
<script type="text/javascript">
..
</script>
ça me plante tout.
Il semble que ce soit la balise </script> qui soit mal interprétée.

Quelqu'un peut m'éclairer sur ce pb ?
Merci d'avance.

Aurélien

5 réponses

Avatar
Olivier Miakinen

j'ai un souci de coexistence entre php et javascript.


Vraiment avec PHP ?

Quand j'inclus dans ma page index.php un script avec
<script type="text/javascript" src="..." />
ça fonctionne très bien mais si je mets le même script "en ligne" avec
<script type="text/javascript">
..
</script>
ça me plante tout.


C'est PHP qui plante, ou bien c'est le navigateur qui ne sait pas quoi
faire de la page correctement générée par PHP ?

Il semble que ce soit la balise </script> qui soit mal interprétée.


Je vais supposer dans ma réponse qu'on est dans le second cas (non
compréhension du navigateur au lieu d'un problème de PHP). Si ce n'était
pas le cas, merci de reformuler le problème, peut-être d'ailleurs dans
le groupe modéré <news:fr.comp.lang.php>.

J'ai lu qu'il y avait deux points auxquels faire attention quand on
inclut du JavaScript directement dans le code HTML.

------------------------------------------------------------------------
1)

Rajouter des commentaires pour les navigateurs qui ne comprennent pas le
JavaScript. Je suppose que ce n'est pas le cas de celui avec lequel tu
testes, mais ça ne fera pas de mal.

Donc, remplacer :
<script type="text/javascript">
...
</script>
par :
<script type="text/javascript">
<!--
...
//-->
</script>

------------------------------------------------------------------------
2)

Si jamais tu as des séquences "</" dans ton code JavaScript (par exemple
si tu fais des document.write de balises fermantes), les remplacer par
"</", afin que le navigateur ne croie pas que ton script est déjà fini.

------------------------------------------------------------------------

Voilà, en espérant que cela t'aide.

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.

Avatar
Aurélien
Merci pour les conseils.
J'ai eu la réponse sur un newsgroup php, le pb vient de la mauvaise
compréhension par php de </script> car il croit que c'est la fin du script php
et pas celle du javascript inclus. Pour que ça fonctionne, il faut écrire
&lt;/script&gt; afin que la balise ne soit pas interprétée.

Encore merci ! Et bonnes fin d'année à tous

Aurélien


j'ai un souci de coexistence entre php et javascript.



Vraiment avec PHP ?


Quand j'inclus dans ma page index.php un script avec
<script type="text/javascript" src="..." />
ça fonctionne très bien mais si je mets le même script "en ligne" avec
<script type="text/javascript">
..
</script>
ça me plante tout.



C'est PHP qui plante, ou bien c'est le navigateur qui ne sait pas quoi
faire de la page correctement générée par PHP ?


Il semble que ce soit la balise </script> qui soit mal interprétée.



Je vais supposer dans ma réponse qu'on est dans le second cas (non
compréhension du navigateur au lieu d'un problème de PHP). Si ce n'était
pas le cas, merci de reformuler le problème, peut-être d'ailleurs dans
le groupe modéré <news:fr.comp.lang.php>.

J'ai lu qu'il y avait deux points auxquels faire attention quand on
inclut du JavaScript directement dans le code HTML.

------------------------------------------------------------------------
1)

Rajouter des commentaires pour les navigateurs qui ne comprennent pas le
JavaScript. Je suppose que ce n'est pas le cas de celui avec lequel tu
testes, mais ça ne fera pas de mal.

Donc, remplacer :
<script type="text/javascript">
...
</script>
par :
<script type="text/javascript">
<!--
...
//-->
</script>

------------------------------------------------------------------------
2)

Si jamais tu as des séquences "</" dans ton code JavaScript (par exemple
si tu fais des document.write de balises fermantes), les remplacer par
"</", afin que le navigateur ne croie pas que ton script est déjà fini.

------------------------------------------------------------------------

Voilà, en espérant que cela t'aide.




Avatar
Thibaut Allender
Encore merci ! Et bonnes fin d'année à tous


pas champagne là par contre...
plutôt http://www.giromini.org/usenet-fr/repondre.html

--
thibaut allender | freelance | http://capsule.org

Avatar
Aurélien
Encore merci ! Et bonnes fin d'année à tous



pas champagne là par contre...
plutôt http://www.giromini.org/usenet-fr/repondre.html



J'espère ne pas t'avoir gaché cette fin d'année 2004 pour avoir mis une
"réponse" avant la "citation" :-)
Il faut dire que là on est quand même dans le cadre d'un fil de discussion (donc
on sait de quoi on parle) et surtout que ma réponse n'est pas vraiment une
réponse directe à l'intervention du dessus mais plutôt un ajout d'information,
pour ceux qui auraient le même problème que moi.
Enfin bref, ça m'aura permis de lire le lien que tu cites.
ET puis j'essaierai de prendre des bonnes résolutions pour 2005 :-)

Aller, champagne quand même !


Avatar
Olivier Miakinen

pas champagne là par contre...
plutôt http://www.giromini.org/usenet-fr/repondre.html


J'espère ne pas t'avoir gaché cette fin d'année 2004 pour avoir mis une
"réponse" avant la "citation" :-)


Je crois que Thibaut aurait tout autant réagi si tu avais mis ta réponse
après la citation plutôt qu'avant. C'est surtout le fait de laisser
l'intégralité de l'article précédent qui est reproché en général.

Il faut dire que [...] ma réponse n'est pas vraiment une réponse
directe à l'intervention du dessus mais plutôt un ajout
d'information, pour ceux qui auraient le même problème que moi.


... d'ou l'intérêt de supprimer tout ce à quoi tu ne réponds pas.

Enfin bref, ça m'aura permis de lire le lien que tu cites.


... et de l'appliquer, ce dont je te remercie.
Champagne !

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.