script html code page demande d'aide

Discussion dans 'Discussions Générales' démarrée par MacFly273, Jan 9, 2018.

  1. MacFly273

    MacFly273 New Member

    Bonjour,
    je ne sais pas du tout si je suis dans la bonne catégorie, mais je me lance !
    Je précise que je suis débutant, même si je comprends assez vite.

    Voici un code qui me pose problème:

    <SCRIPT>
    function passWord() {
    var testV = 1;
    var pass1 = prompt('Entrez votre mot de passe',' ');
    while (testV < 3) {
    if (!pass1)
    history.go(-1);
    if (pass1.toLowerCase() == "sesame") {
    alert('Mot de passe correct !');
    window.open('http://www.la page web.com/');
    break ;
    }
    testV+=1;
    var pass1 =
    prompt('Confirmez votre mot de passe.','Mot de passe');
    }
    if (pass1.toLowerCase()!="sesame" & testV ==3)
    history.go(-1);
    return " ";
    }
    </SCRIPT>
    <CENTER>
    <FORM>
    <input type="button" value="Accès par mot de passe" onClick="passWord()">
    </FORM>
    </CENTER>

    Ce code ouvre une première fenêtre "mot de passe" toute simple. Puis une seconde toute simple aussi mais avec en plus une case "empêcher cette fenêtre d'ouvrir une nouvelle page de dialogue".

    Sur mon site il marche bien en apparence, mais voici les problèmes:

    1.dans la première fenêtre, que le code soit bon ou pas cela ne change rien, la deuxième fenêtre s'ouvre et là si le code est bon la redirection se fait.

    2.si on coche la case de la deuxième fenêtre, la page web s'ouvre dans une autre fenêtre web quand même, au lieu de s'afficher dans la fenêtre web présentement ouverte.

    Voilà les problèmes de ce code. Merci pour toute aide
     
  2. MacFly273

    MacFly273 New Member

    personne pour m'aider?
     
  3. PH-Gabriel

    PH-Gabriel Moderateur Membre de l'équipe

    Bonjour MacFly273,

    Je ne recommande pas d'afficher trop de fenêtres de dialogue puisque certains navigateurs (comme Chrome) vont ajouter une case pour bloquer ces dialogues.

    Un formulaire HTML serait une bonne solution dans votre cas. Vous pouvez utiliser jQuery ou une autre librairie JavaScript pour faciliter votre code.

    Concernant le reste du code, il semble avoir un problème de programmation. Je vous invite à tenter de debugger le code avec l'outil DevTools de Chrome ou autre outil similaire.

    Voici plus d'information sur cet outil: https://developers.google.com/web/tools/chrome-devtools/javascript/
     
  4. MacFly273

    MacFly273 New Member

    bonjour merci de votre aide, je vais aller voir jQuery pour commencer.

    Je viens par contre de m'apercevoir d'un autre problème mais pas lié au code
    directement: lorsque j'affiche le code source de ma page web en faisant un clic droit sur "code source de la page"....
    le code source de mon code apparait tel que la copie ci dessus, donc avec le bon code aussi pour accéder à la
    page sensé être protégée !

    Auriez vous une piste pour m'aider sur ce deuxième problème? Histoire de savoir à peu près
    quel type de script chercher.

    Je vais voir avec un formulaire html aussi, bonne idée merci.
     
  5. PH-Gabriel

    PH-Gabriel Moderateur Membre de l'équipe

    En effet, le code javascript est exécuté à 100% du côté du navigateur du client.

    Si vous avez besoin d'un système sécuritaire, je vous recommande de faire la validation ou même la redirection directement avec du code PHP qui s'exécute au niveau serveur. De cette façon, le code ne sera pas lisible par l'utilisateur.
     
  6. MacFly273

    MacFly273 New Member

    je pense justement au code source présenté sur cette page pour le PHP

    https://openclassrooms.com/courses/...hp-et-mysql/tp-page-protegee-par-mot-de-passe

    il me semble que ma solution se trouve là. Si j'ai bien compris je dois créer une deuxième page web inaccessible sauf par moi
    pour y insérer la deuxième partie du code source, la partie appelée si le code entré est bon sur la première page. J'ai du mal à saisir la suite
    d'ailleurs, une fois le code final obtenu via ce premier code, que se passe-t-il? Faut-il entrer ce code final
    dans la première fenêtre afin d'accéder cette fois-ci à la page voulu?

    Dans ce TP/exercice apparemment il serait possible de le faire en un bloc, selon vous est-ce que j'ai une chance
    d'y arriver ou mieux vaut que je me contente de faire au plus facile avec les deux pages au vu de mon niveau?

    Encore merci de m'accorder du temps
     
  7. PH-Gabriel

    PH-Gabriel Moderateur Membre de l'équipe

    Selon moi il serait possible de le faire avec une seule page si c'est ce que vous souhaitez.

    Par contre, vous allez surement devoir modifier le code PHP.

    Je vous recommande de suivre ce cours au complet. Il est très bon et vous aidera à comprendre le fonctionnement du PHP pour pouvoir faire le TP.
     
  8. MacFly273

    MacFly273 New Member

    Merci pour votre aide, au moins je sais dans quoi investir mon énergie: le PHP !
    Oui je me doute que je vais devoir modifier un peu ce code PHP, je vais le tester.
    Je vous tiens au courant de mon avancé.

    Encore merci
     

Partager cette page