Problème javascript de popup mot de passe

Résolu/Fermé
flavbleach Messages postés 1956 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 1 septembre 2016 - 15 juin 2015 à 11:39
flavbleach Messages postés 1956 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 1 septembre 2016 - 15 juin 2015 à 14:41
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 mercredi 20 février 2013 Statut Membre Dernière intervention 24 novembre 2018 96
15 juin 2015 à 12:01
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 1956 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 1 septembre 2016 345
15 juin 2015 à 13:27
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 38216 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 juin 2024 4 680
15 juin 2015 à 12:23
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 1956 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 1 septembre 2016 345
15 juin 2015 à 14:23
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 38216 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 juin 2024 4 680 > flavbleach Messages postés 1956 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 1 septembre 2016
Modifié par jordane45 le 15/06/2015 à 14:28

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 mercredi 20 février 2013 Statut Membre Dernière intervention 24 novembre 2018 96
15 juin 2015 à 14:32
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 1956 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 1 septembre 2016 345
15 juin 2015 à 14:41
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 1956 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 1 septembre 2016 345
Modifié par flavbleach le 15/06/2015 à 14:34
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