Problème javascript de popup mot de passe

Résolu
flavbleach Messages postés 1963 Date d'inscription   Statut Membre Dernière intervention   -  
flavbleach Messages postés 1963 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai actuellement un problème avec ce popup de validation de mot de passe.
Lorsque je clique sur "annuler" ou que je fait la touche échap, le code ne me redirige pas et affiche le contenu de la page.

code = prompt("Entrez le mot de passe. Vous avez 1 seul essai...","");
var coded=SHA1(MD5(SHA1(code)));
if (coded == "<?php echo $d_query_pin[0];?>"){

}else{
window.location="../bad_psw.php";
}


Merci pour votre aide, bonne journée
A voir également:

4 réponses

blackduck Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   96
 
Salut salut,

Lorsque tu fais échap ou annuler normalement le script se comporte comme si le mot de passe était faux et donc te redirige vers ../bad_psw.php. Le contenu de quel page est ce que ça t'affiche?
0
flavbleach Messages postés 1963 Date d'inscription   Statut Membre Dernière intervention   345
 
Bonjour, merci pour ta réponse.
Le script ne me redirige pas. Il m'affiche le contenu de la page sur laquelle il est (au lieu de me rediriger).
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

A la limite.. tu peux vérifier que code n'est pas vide ....
var code = prompt("Entrez le mot de passe. Vous avez 1 seul essai...","");
if(code !==''){
 var coded=SHA1(MD5(SHA1(code)));
  if (coded == "<?php echo $d_query_pin[0];?>"){
 
  }else{
     window.location="../bad_psw.php";
  }
}else{
  //ici ton code si "code" est vide ! )
}

0
flavbleach Messages postés 1963 Date d'inscription   Statut Membre Dernière intervention   345
 
Merci, c'est vraiment étrange. J'ai essayé mais rien n'y fait, il continue de m'afficher la page lorsque j'annule le popup ou que j'appuie sur "echap".

Quelle est la syntaxe javascript qui permet de "echo" une variable ? Pour voir sa valeur.

Merci.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > flavbleach Messages postés 1963 Date d'inscription   Statut Membre Dernière intervention  
 

Quelle est la syntaxe javascript qui permet de "echo" une variable ? Pour voir sa valeur.


console.log(tavariable);

=> Ce qui l'affichera dans la fenêtre "console" de ton navigateur internet ( lorsque tu as activé les outils de debogage de ton navigateur... et au passage.. je te conseille d'utiliser le plugin firebug pour FireFox).
Sinon.. tu peux toujours en faire un ALERT
alert(tavariable);




Merci, c'est vraiment étrange. J'ai essayé mais rien n'y fait, il continue de m'afficher la page lorsque j'annule le popup ou que j'appuie sur "echap".

Tu as mis quoi dans le ELSE du code que je t'ai proposé ?
0
blackduck Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   96
 
Re,

En reprenant ton code j'ai fais des alert dans les deux conditions, je vois bien les deux valeurs et si j'annule ça me redirige bien vers la page spécifiée.. Alors là je ne comprends plus trop vu que ça n'a pas l'air de fonctionner sur ton poste.

Je te poste quand même ce que j'ai exécuté :
<?php 
$d_query_pin[0]="aaa";
?>
<script>
code = prompt("Entrez le mot de passe. Vous avez 1 seul essai...","");
var coded=code;
if (coded == "<?php echo $d_query_pin[0];?>"){
alert("ok "+coded+" <?php echo $d_query_pin[0];?>");
}else{
alert("bad");
window.location="../bad_psw.php";
}
</script>

J'ai fais une page bidon qui correspond à bad_psw.php qui fais echo "bad psw"; et c'est bien ce que ça m'affiche si j'annule la saisie du mot de passe.
0
flavbleach Messages postés 1963 Date d'inscription   Statut Membre Dernière intervention   345
 
Effectivement c'est étrange, étant donné que ça ne fonctionne pas pour moi j'ai trouvé cette solution, qui fonctionne :
code = prompt("Entrez le mot de passe. Vous avez 1 seul essai...","");
if(code !==null){
var coded=SHA1(MD5(SHA1(code)));
if (coded == "<?php echo $d_query_pin[0];?>"){

}else{
 window.location="../bad_psw.php";
}
}else{
  window.location="../bad_psw.php";
}


Merci blackduck :)
0
flavbleach Messages postés 1963 Date d'inscription   Statut Membre Dernière intervention   345
 
Nickel, grâce au alert(), j'ai pu découvrir que la variable code lorsqu'elle est annulée ou échapée obtient la valeur "null".

Ainsi le code final est :
code = prompt("Entrez le mot de passe. Vous avez 1 seul essai...","");
if(code !==null){
var coded=SHA1(MD5(SHA1(code)));
if (coded == "<?php echo $d_query_pin[0];?>"){

}else{
 window.location="../bad_psw.php";
}
}else{
  window.location="../bad_psw.php";
}


Merci pour ta réponse Jordane45 :)
Words are weapons.
0