Java script en php

Eléphant du PHP | 256 Messages

05 déc. 2010, 14:19

Bonjour,
Dans un fichier php, je voudrais activer un <script language="javascript"> dans certaines conditions.

J'ai pensé faire comme ceci

if condition
echo (' <script language="javascript"> suivi de toute la procédure Java

Evidemment ça ne foncitonne pas car dans le code Java il y a plein de ' de " et de )

Merci d'avance pour votre aide
Rudy

ViPHP
xTG
ViPHP | 7331 Messages

05 déc. 2010, 15:57

Façon simple de pas s'emmêler les pinceaux :
<?php
if( condition ) 
{
?>
<script type="text/javascript">
....
</script>
<?php
}
?>

Eléphant du PHP | 256 Messages

05 déc. 2010, 16:08

Merci, j'ai compris, et ça fonctionne !

ViPHP
ViPHP | 5462 Messages

05 déc. 2010, 19:31

pour se genre de bloque je te conseil de faire plus comme ca :
<?php if( condition ): ?>
<script type="text/javascript">
....
</script>
<?php endif ?>

Eléphant du PHP | 256 Messages

06 déc. 2010, 08:02

Merci aussi,
le principe est le même : mettre fin à php puis relancer php pour terminer le if
je ne vois pas l'avantage d'une méthode sur l'autre.

ViPHP
xTG
ViPHP | 7331 Messages

06 déc. 2010, 10:07

La lisibilité. ;)
Celle destealth35 te donne cet avantage, tu n'as pas à te tromper, car avec la mienne cela pourrait être l'accolade d'une boucle while, for, d'un switch, ect...

Eléphant du PHP | 256 Messages

06 déc. 2010, 10:22

Effectivement, quoique je met des tabulations sur les { donc ça me semble clair
J'ai quand même essayé la méthode de stealth35 mais je reçois une erreur Parse error: syntax error, unexpected T_ENDIF
<?php
$mmdd= date("md");
if($mmdd<"1101" && $mmdd>"0229")
Echo ('<head>');
Else ?>
<style type="text/css"> .snow {position:absolute;layer-background-color:lightblue;visibility:visible;top:-50px;font-size:1px;background-color:white;}</style>
<head>
<script language="javascript">
...
</script>
<?php endif ?>

ViPHP
ViPHP | 5462 Messages

06 déc. 2010, 10:57

t'as oublie le : après ton if, il faudra le faire aussi après le else

comme ca devrait aller
<?php
$mmdd= date("md");
if($mmdd < "1101" && $mmdd > "0229"):
?>
<head>
<?php else: ?>
<style type="text/css"> .snow {position:absolute;layer-background-color:lightblue;visibility:visible;top:-50px;font-size:1px;background-color:white;}</style>
<head>
<script language="javascript">
...
</script>
<?php endif ?>

Eléphant du PHP | 256 Messages

06 déc. 2010, 17:18

Merci, ça fonctionne