Echo ne marche pas

TssiCalm
Invité n'ayant pas de compte PHPfrance

25 mai 2015, 16:31

Bonjour !
J'ai un problème : mon echo ne marche pas :
?><script type='text/javascript'>alert('<?php echo $error; ?>');</script><?php
Comment faire ?

Mammouth du PHP | 688 Messages

25 mai 2015, 16:54

nous donner le reste du code, pour savoir si $error a une valeur, si ce code est appelé ...

Petit nouveau ! | 1 Messages

26 mai 2015, 09:50

salut tu devrai peut etre chercher a savoir si ta variable $error est definie.si c'est le cas (si elle est definie) essaie ceci
<script type='text/javascript'>alert('<?php if(isset($error)) echo $error; ?>');</script>

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

26 mai 2015, 11:05

mon echo ne marche pas
C'est parce qu'il n'a pas de jambes... :p

Ceci étant, si tu regardes le code source de la page que tu génères, tu verras que le echo fonctionne bien (comme tous les autres echo de ta page, il n'y a pas de raison que celui-ci fasses exception).

En revanche :
- si tu as la fenêtre d'alerte javascript qui apparait mais que le message qui apparait est un message d'erreur php, tu fais sans doute appel à une variable qui n'a pas été définie préalablement. Assures toi que celle-ci existe avant de l'utiliser.
- si tu as la fenêtre d'alerte javascript qui apparait mais que le message n'est pas le bon : c'est que tu n'utilises pas la bonne variable php
- si tu as la fenêtre d'alerte javascript qui apparait mais que le message est vide : c'est que ta variable php est vide. Assures-toi de la renseigner correctement avant de l'utiliser
- Si la fenêtre d'alerte javascript n'apparait pas : tu as une erreur javascript, celle-ci se produit soit avant ton echo (et on a donc aucune chance de t'aider à trouver d'où cela vient avec si peu d'information) ou de la ligne de ton echo, auquel cas il faut vérifier que le code javascript généré par php est correct. Si par exemple ta variable $error contient une apostrophe, celle-ci doit être protégée par un antislash pour pouvoir être utilisée en javascript (et éviter que le navigateur ne la considère comme une fin de chaine)

ex :
$error = "Ca n'a pas marché";
echo " alert(' $error; '); ";
Génèrera le code JS : " alert('Ca n'a pas marché'); " qui est erroné. En revanche
$error = "Ca n\\\'a pas marché"; // pour obtenir \' , il faut protéger l'apostrophe ET l'antislash 
echo " alert(' $error; '); ";
Génèrera le code JS : " alert('Ca n\'a pas marché'); " qui est correct
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...