[RÉSOLU] Mot de passe sur chaque page
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- 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
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 15 novembre 2022, 04:54, modificato 3 volte in totale.
Ma page généalogie personnelle sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- 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" ?
Si je veux rester sur la même page d'où le code est exécuté que dois-je changer?
Merci!
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>
Merci!
Ultima modifica di rpoulin2010 il 14 aprile 2020, 16:23, modificato 1 volta in totale.
Ma page généalogie personnelle sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- Vedere il suo albero genealogico
Bon, ça se simplifie ... Je suis en mode CGI donc seulement cette partie du code est utile:
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">
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;
- 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 sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- 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
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
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>
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 sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 14034
- Introduzione: Testo
- Navigazione: Testo
- 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,
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
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- 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?
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 sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 14034
- Introduzione: Testo
- Navigazione: Testo
- 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,
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
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- Vedere il suo albero genealogico
Oui j'avais éliminé les balises déjà. Rien n'y fait.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,
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 sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- 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 sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 77
- Introduzione: Testo
- Navigazione: Testo
- 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.
A noter que cette solution transmet "en clair" votre ident:mdp.
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- Vedere il suo albero genealogico
Bonjour... désolé je n'avais pas vu votre réponse.
Oui c'est ce que je fais actuellement en transmettant un url. L'inconvénient est que si on donne le lien publiquement alors tous ceux qui lisent le commentaire ou publication auront accès à la base en tant qu'ami! Ce que j'aimerais est de pouvoir transmettre l'adresse d'une page personnelle sans mot de passe et de pouvoir entrer ce mot sur la page elle-même sans avoir à retourner à la page Welcome d'abord (ce faisant on perd le lien de la page transmise).
Ma page généalogie personnelle sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 77
- Introduzione: Testo
- Navigazione: Testo
- Vedere il suo albero genealogico
Relu par hazard ce vieux post.
On peut rajouter dans perso.txt le morceau de code de welcome.txt qui gère l'authentification.
Il faut le modifier légèrement en y rajoutant la reprise des éléments de l'url courante :
On notera cependant que si l'url pointe vers une personne privée, elle ne sera pas du tout visible!
Cette proposition ne fonctionne donc que pour les personnes visibles (décédées ou publiques), mais permet la saisie de l'authentification sans avoir à repasser par la page welcome.
On peut rajouter dans perso.txt le morceau de code de welcome.txt qui gère l'authentification.
Codice: Seleziona tutto
<div class="d-flex flex-column flex-md-row justify-content-lg-center mt-2 mt-lg-4">
%if;(bvar.auth_file="" and bvar.wizard_passwd!="" or bvar.friend_passwd!="")
...
</div>
Codice: Seleziona tutto
<a href="%prefix;w=w&%nn;
%foreach;env_binding;%if;(env.key!="w")&%env.key;=%env.val;%end;%end;"
class="btn btn-outline-success text-nowrap" role="button" title="[*wizard/wizards/friend/friends/exterior]0"><i class="fas fa-hat-wizard mr-2" aria-hidden="true">
</i>[*wizard/wizards/friend/friends/exterior]0
Cette proposition ne fonctionne donc que pour les personnes visibles (décédées ou publiques), mais permet la saisie de l'authentification sans avoir à repasser par la page welcome.
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- Vedere il suo albero genealogico
Merci - je vais essayer ce code
Ma page généalogie personnelle sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 360
- Introduzione: Testo
- Navigazione: Testo
- Vedere il suo albero genealogico
Bonjour,
Je reviens à la page principale Welcome !
Je reviens à la page principale Welcome !
Ma page généalogie personnelle sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
-
- Messaggi: 77
- Introduzione: Testo
- Navigazione: Testo
- Vedere il suo albero genealogico
Tu peux envoyer le code de perso.txt?