Rispondi

Mot de passe sur chaque page -> un connaisseur jQuery ?

rpoulin2010
male
Messaggi: 205
Albero : Non grafico
Vedere il suo albero genealogico
Bonour,

Avez-vous déjà rencontré une installation Geneweb qui donne la possibilité d'entrer le mot de passe 'ami' (ou autre) sur chacune des pages si le mot n'est pas déjà introduit à la page d'accueil (welcome)? En fait je me demande si c'est louable d'avoir cette possibilité, par exemple en mettant le code approprié sur la page trailer (trl.txt) qui est habituellement incluse! Ou d'autres alternatives existent-elles ? Des idées? - Merci.

PS/ Voir mes commentaires qui suivent pour mise à jour de ma demande
Ultima modifica di rpoulin2010 il 16 aprile 2020, 15:59, modificato 1 volta in totale.
Ma page généalogie personnelle Geneweb en ligne (V.7 proposée par G. Brochu) et Gallerie photos, avec cartographie : http://bit.ly/2Tk30dx

rpoulin2010
male
Messaggi: 205
Albero : Non grafico
Vedere il suo albero genealogico
Et j'ai une sous question: Qu'est-ce qui fait que l'exécution de ce code, copié de la page Welcome, pour entrer le mot de passe (ou usager:mot de passe) et placé sur une autre page, nous ramène automatiquement à la page "Welcome" ?

Codice: Seleziona tutto

 <div class="d-inline-flex flex-xs-row flex-md-column">
        %if;(bvar.wizard_passwd != "" or bvar.wizard_passwd_file != ""
          or bvar.friend_passwd != "" or bvar.friend_passwd_file != "")
          %if;(cgi and (not wizard and not friend))
            <form class="form-inline" method="post" action="%action;">
              %hidden;
              <div class="input-group mt-1">
                %(<label for="w" class="sr-only">[user/password/cancel]0:[user/password/cancel]1</label>%)
                <input type="text" class="form-control" name="w" title="[wizard/wizards/friend/friends/exterior]2/[wizard/wizards/friend/friends/exterior]0"
                placeholder="[user/password/cancel]0:[user/password/cancel]1" aria-label="password input" aria-describedby="username:password" autofocus>
                <div class="input-group-append">
                  <button type="submit" class="btn btn-primary">OK</button>
                </div>
              </div>
            </form>
          %end;
          %if;(bvar.auth_file = "")
            <div class="btn-group btn-group-xs mt-1" role="group">
            %if;(bvar.friend_passwd != "" or bvar.friend_passwd_file != "")
              %if;(not friend)
                %if;(not cgi)
                <!--w=f-->
                  <a href="%prefix;w=f" class="btn btn-outline-primary" role="button">[*wizard/wizards/friend/friends/exterior]2</a>
                %end;
              %else;
                <a href="#" class="btn btn-primary disabled" role="button">[*wizard/wizards/friend/friends/exterior]2%sq;
                 %if;(user.ident != "") %user.ident;%end;</a>
              %end;
            %end;
            %if;(bvar.wizard_passwd != "" or bvar.wizard_passwd_file != "")
              %if;(not wizard)
                %if;(not cgi)
                <!--w=w-->
                  <a href="%prefix;w=w" class="btn btn-outline-success" role="button">[*wizard/wizards/friend/friends/exterior]0</a>
                %end;
              %else;
                  <a href="#" class="btn btn-success disabled" role="button">[*wizard/wizards/friend/friends/exterior]0%sq;
                  %if;(user.ident != "") %user.ident;%end;</a>
              %end;
            %end;
            </div>
          %end;
          %if;((wizard and (bvar.wizard_passwd != "" or bvar.wizard_passwd_file != "")) or (friend and (bvar.friend_passwd != "" or bvar.friend_passwd_file != "")))
            <a class="btn btn-outline-danger btn-group btn-xs mt-1 ml-auto" href="%prefix;w=" role="button">[*disconnect]</a>
          %end;
        %end;
      </div>
Si je veux rester sur la même page d'où le code est exécuté que dois-je changer?

Merci!
Ultima modifica di rpoulin2010 il 14 aprile 2020, 16:23, modificato 1 volta in totale.
Ma page généalogie personnelle Geneweb en ligne (V.7 proposée par G. Brochu) et Gallerie photos, avec cartographie : http://bit.ly/2Tk30dx

rpoulin2010
male
Messaggi: 205
Albero : Non grafico
Vedere il suo albero genealogico
Bon, ça se simplifie ... Je suis en mode CGI donc seulement cette partie du code est utile:

Codice: Seleziona tutto

       %if;(bvar.wizard_passwd != "" or bvar.wizard_passwd_file != ""
          or bvar.friend_passwd != "" or bvar.friend_passwd_file != "")

        %if;(cgi and (not wizard and not friend))
            <form class="form-inline" method="post" action="%action;">
              %hidden;
              <div class="input-group mt-1">
                %(<label for="w" class="sr-only">[user/password/cancel]0:[user/password/cancel]1</label>%)
                     <input type="text" class="form-control" name="w" title="[wizard/wizards/friend/friends/exterior]2/[wizard/wizards/friend/friends/exterior]0"
                placeholder="[user/password/cancel]0:[user/password/cancel]1" aria-label="password input" aria-describedby="username:password" autofocus>
                <div class="input-group-append">
                  <button type="submit" class="btn btn-primary">OK</button>
                </div>
              </div>
            </form>
          %end;
Et je crois que ça se joue soit :

- sur l'attribut name="w" de la ligne input - Le w dirigerait vers la page Welcome. Il existe peut-être d'autres lettres dans la 'collection' de pages et parmi celles-ci une qui nous fait rester sur la même page?

- ou bien soit sur la méthode de la <Form> : <form class="form-inline" method="post" action="%prefix">
Ma page généalogie personnelle Geneweb en ligne (V.7 proposée par G. Brochu) et Gallerie photos, avec cartographie : http://bit.ly/2Tk30dx

rpoulin2010
male
Messaggi: 205
Albero : Non grafico
Vedere il suo albero genealogico
Ma dernière mise à jour ...

Il m'apparait que c'est impossible de rester sur la même page après avoir saisie un mot de passe dans le formulaire - ainsi, inévitablement on est dirigé vers la page Welcome.

Alors j'ai pensé soumettre le formulaire Mot de Passe par jQuery au serveur Geneweb tout en restant sur la page d'où provient le formulaire (en l'occurrence la page trl.txt qui peut être annexée à toute page du template) - donc sur trl.txt j'ai le code suivant incluent ma fonction jQuery et le formulaire pour saisir le mot de passe

Codice: Seleziona tutto

 <!-- $Id: trl.txt v 7.00 19/03/2018 07:46:01 rp -->  
    <head>
    <script language="JavaScript" type="text/JavaScript" src="/showhide.js"></script>
    <script type="text/javascript" src="jquery-3.5.0.js"></script>
    <script type="text/javascript">


$("form#data").submit(function() {
    var formData = new FormData(this);
    $.post($(this).attr("action"), formData, function() {
        // success
    });
    return false;
});

</script>
</head>

     <div class="d-inline-flex flex-xs-row flex-md-column">

       %if;(bvar.wizard_passwd != "" or bvar.wizard_passwd_file != ""
          or bvar.friend_passwd != "" or bvar.friend_passwd_file != "")
          %if;(cgi and (not wizard and not friend))
            <form id="data" class="form-inline" method="post" action="%action;" enctype="multipart/form-data">
              %hidden;
              <div class="input-group mt-1">
                %(<label for="w" class="sr-only">[user/password/cancel]0:[user/password/cancel]1</label>%)
                 <!--name="w"-->
              <input type="text" class="form-control" name="w" title="[wizard/wizards/friend/friends/exterior]2/[wizard/wizards/friend/friends/exterior]0"
               placeholder="[user/password/cancel]0:[user/password/cancel]1" aria-label="password input" aria-describedby="username:password" autofocus>
                <div class="input-group-append">
                  <button type="submit" class="btn btn-primary">OK</button>
                </div>
              </div>
            </form>
          %end;

          %if;((wizard and (bvar.wizard_passwd != "" or bvar.wizard_passwd_file != "")) or (friend and (bvar.friend_passwd != "" or bvar.friend_passwd_file != "")))
              %(<!--"%prefix;w="-->%)
            <a class="btn btn-outline-danger btn-group btn-xs mt-1 ml-auto" href="%prefix;w=" role="button">[*disconnect]</a>
          %end;
        %end;
        </div>
       </div>
Toujours est-il que ça ne fonctionne pas - le mot de passe en interprété mais on revient toujours à la page Welcome .

DONC : mes questions:

1. est-ce que je fais erreur avec le formulaire (Form) et qu'il est en réalité possible d'éviter le retour à la page Welcome en y changeant tout simplement le code sans avoir recours à jQuery ?

ou bien

2. est-ce que je fais erreur avec jQuey tel que montré. ?

Merci
Ma page généalogie personnelle Geneweb en ligne (V.7 proposée par G. Brochu) et Gallerie photos, avec cartographie : http://bit.ly/2Tk30dx

forhanp
forhanp
Messaggi: 4344
Albero : Non grafico
Vedere il suo albero genealogico
Bonjour,

Cela ne se joue pas sur l'affichage, que vous modifiez à souhait dans vos exemples, mais sur le code serveur.
Vous faites un POST de votre formulaire, donc vous appelez votre serveur avec la valeur de l'attribut action : %action; (qui est remplacé à l'exécution par ce qui doit être, vu que je n'ai pas la page html, je ne peux pas vous en dire plus).
C'est après sur le serveur, qui reçoit cette action et qui la traite, qu'il faut changer la page de retour.
Les pages affichées n'indiquent jamais les pages suivantes (sauf un lien direct en GET), ce sont les serveurs qui font la navigation d'une page à l'autre.

Pour faire ce que vous voulez, il va falloir vous lancer dans une modification de code côté serveur.
Personnellement, je suis bien incapable de vous aider sur le sujet, je suis habituellement assez doué avec les langages de programmation (c'est un peu beaucoup mon métier), mais le OCaml me laisse hermétique.

Cordialement,
Pascal Forhan

rpoulin2010
male
Messaggi: 205
Albero : Non grafico
Vedere il suo albero genealogico
Merci forhanp ..

La page 'test' mot de passe est disponible ici :
http://genepoulin.net/gene/geneweb7.cgi?b=poulin&m=S&n=&p=lini%C3%A8re

POur ce qui est du serveur je pensais à quelque chose comme « Submit form and stay on same page? » dont on peut voir une solution ici: https://stackoverflow.com/questions/5733808/submit-form-and-stay-on-same-page

D'après vous impossible avec le serveur Geneweb?
Ma page généalogie personnelle Geneweb en ligne (V.7 proposée par G. Brochu) et Gallerie photos, avec cartographie : http://bit.ly/2Tk30dx

forhanp
forhanp
Messaggi: 4344
Albero : Non grafico
Vedere il suo albero genealogico
Bonjour,

La première chose que je ferais, c'est de virer les balises <HEAD> </HEAD> de trl.txt.
Le HTML s'en portera mieux.
Ensuite, le return false sur le submit devrait suffire pour rester sur la page.
Mais je ne connais pas le code sur le serveur et je ne sais pas s'il préempte quelque chose.

Cordialement,
Pascal Forhan

rpoulin2010
male
Messaggi: 205
Albero : Non grafico
Vedere il suo albero genealogico
forhanp ha scritto:
16 aprile 2020, 17:01
Bonjour,

La première chose que je ferais, c'est de virer les balises <HEAD> </HEAD> de trl.txt.
Le HTML s'en portera mieux.
Ensuite, le return false sur le submit devrait suffire pour rester sur la page.
Mais je ne connais pas le code sur le serveur et je ne sais pas s'il préempte quelque chose.

Cordialement,
Oui j'avais éliminé les balises déjà. Rien n'y fait.
Outre une réponse du serveur en retour du formulaire, il suffirait de modifier dans le navigateur l'adresse de la page active pour y ajouter ;w=motdepasse et relancer cette même page. Et voilà le tour serait joué!
Ma page généalogie personnelle Geneweb en ligne (V.7 proposée par G. Brochu) et Gallerie photos, avec cartographie : http://bit.ly/2Tk30dx

rpoulin2010
male
Messaggi: 205
Albero : Non grafico
Vedere il suo albero genealogico
J'ai mis ça de côté temporairement - pour éventuellement en faire une demande officielle ... La possibilité d'entrer notre mot de passe sur chaque page (si pas déjà fait sur la page principale Welcome) et de pouvoir rester sur la page en cours.
Ma page généalogie personnelle Geneweb en ligne (V.7 proposée par G. Brochu) et Gallerie photos, avec cartographie : http://bit.ly/2Tk30dx

hgouraud
male
Messaggi: 34
Albero : Non grafico
Vedere il suo albero genealogico
Avez vous essayé de rajouter ;w=ident:mdp à votre url?
A noter que cette solution transmet "en clair" votre ident:mdp.

Rispondi

Torna a “GeneWeb”