php & js

dd_la_foret
Invité n'ayant pas de compte PHPfrance

12 juin 2006, 11:47

Bonjour,
pour une animation flash, je récupère avec php des variables passées dans l'URL et je fais une detection avec un javascript. ce qui me donne quelque chose comme ca, pour afficher mon swf quand le plugin est ok :

document.write('<param name="movie" value="test.swf?id=<?php echo $id; ?>&langue=<?php echo $langue; ?>" />');

Tout marche bien quand je mets les variables dans l'URL mais quand j'en mets pas il y a une erreur de script comment faire pour que quand les variables ne sont définies il passe comme dessus et affiche le contenu.

merci de votre aide....

Mammouth du PHP | 1353 Messages

12 juin 2006, 11:58

Tout marche bien quand je mets les variables dans l'URL mais quand j'en mets pas il y a une erreur de script comment faire pour que quand les variables ne sont définies il passe comme dessus et affiche le contenu.
C'est pas très clair mais je pense que la fonction en php isset() pourra t'aider.

En effet pour vérifier l existence d une variable passée en parametre il te suffit de faire :
if(isset($_GET["variable"]))
{
//la variable existe, suite du code
}
else
{
//la variable n existe pas, conséquences
}
J espere que ca t aidera :)
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 juin 2006, 11:58

S'il n'y a pas de variable passée en paramètre, le code généré par php va ressembler à ceci :

Code : Tout sélectionner

document.write('<param name="movie" value="test.swf?id=&langue=" />');
Ce qui peut en effet poser problème à ton clip en flash si celui-ci nécessite q'on lui spécifie des valeurs. Le plus simple est de tester en php si les variable $id et $langue sont définies à l'aide de la fonction isSet()

Si elles ne le sont pas, à toi de voir si tu leurs donnes une valeur par défaut où si tu mets en place un test pour ne pas faire appel à ton swf :)

dd_la_foret
Invité n'ayant pas de compte PHPfrance

12 juin 2006, 12:42

désolé pour le manque de clarté de ma question, mais merci pour les réponses ca marche niquel. Voila mon problème résolu :)