Php js elle ou est ce qu'elle est?

Fermé
ImLegende - 28 févr. 2010 à 23:42
 ImLegende - 1 mars 2010 à 19:05
Bonjour tout le monde,
quelqu'un peut me dire s'il vous plait ou se situe l'erreur dans le script suivant:

j'ai une fonction qui verrifie si des champs sont remplis ou pas en javascript:

<script type="text/javascript">
function champverrif(){
if((document.information.nom.value=="")||(document.information.passwd.value=="")||(document.information.local.value==""))
{return"vide";}
else
{return"remplis";}}
</script>

puis je teste en se appelant cette function en php:

$var="<script type='text/javascript'>champverrif();</script>";
if($var=="vide"){code php;}else{code php else;}

je vous pris de m'aidez si vous remarquez l'erreur.

2 réponses

Bonjour

Ton erreur vient du fait que tu n'as pas compris comment marchent le PHP et le javascript (au moins le PHP).
N'oublie jamais que le PHP s'exécute dans le serveur et le javascript chez le client.
Regarde ces lignes :
$var="<script type='text/javascript'>champverrif();</script>";
if($var=="vide"){code php;}else{code php else;} 

quand tu fais $var="toto"; en PHP, dans $var il y a la chaîne de caractères "toto". Il n'y a pas "vide" ni "remplis", pas la peine de faire le test
de même, quand tu fais $var="<script type='text/javascript'>champverrif();</script>"; tu donnes à la variable $var la valeur "<script type='text/javascript'>champverrif();</script>";. Pour PHP, c'est une chaîne de caractères comme une autre, même si pour toi c'est du Javascript. En tous cas, ce n'est pas la valeur "vide" ni la valeur "remplis". Ceci se passe dans le serveur et le javascript n'est absolument pas exécuté : il le sera peut-être chez le client quand tu lui enverras ce script (si tu lui envoies et s'il est activé), et le résultat sera chez le client. Mais ce résultat n'existe pas au moment où tu fais ton test.
0
je te remercie bouceaup c'est traux bien claire.
je dirais que j'ai pris une mauvaise abitude en appliquant avec success du code php faisant appel à des fonctions javascript ex: echo"fonctions alert()/write()/..." qui marche traux bien, voilà mercie encore de m'avoir corrigé cette mauvaise abitude.
cordialement, ImLegende
0