Problème javascript de popup mot de passe

Résolu
flavbleach Messages postés 2450 Statut Membre -  
flavbleach Messages postés 2450 Statut Membre -
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

--
Words are weapons.

4 réponses

  1. blackduck Messages postés 902 Statut Membre 97
     
    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
    1. flavbleach Messages postés 2450 Statut Membre 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
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    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
    1. flavbleach Messages postés 2450 Statut Membre 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
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > flavbleach Messages postés 2450 Statut Membre
         

        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
  3. blackduck Messages postés 902 Statut Membre 97
     
    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
    1. flavbleach Messages postés 2450 Statut Membre 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
  4. flavbleach Messages postés 2450 Statut Membre 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