5568 sujets

Sémantique web et HTML

Bonjour à tous,

Je suis face à un problème que je ne comprend pas au niveau de mes formulaires.
Pour entrer sur mon application l'utilisateur doit s'authentifier :


<form id="loginForm" action="login.php?log=in" method="post"> 
             
        <p>           
        <label for="login">Nom d'utilisateur :</label> 
        <input type="text" id="login" name="loginIndex" value="" /> 
        </p> 
    
        <p>
        <label for="motDePasse">Mot de passe :</label> 
        <input type="password" id="motDePasse" name="motDePasseIndex" /> 
        <input type="hidden" value="" name="referer" /> 
        </p> 
        
		<p style="margin:0;padding:0;"> 
			<input type="submit" value="Connexion" />
		</p> 
</form> 


Sur la page d'après les navigateur récents type firefox/chrome , propose d'enregistrer les paramètres de l'identification.
Si je le fait , les chose se compliquent. En effet dans tous les autres formulaire comportant une zone de saisie identifiant/mot de passe , les info enregistrer apparaissent alors qu'elles ne le devraient pas (formulaire de création d'utilisateur par exemple).

J'ai dans un premier temps pensé que cela venait du nom des champs identique , je les ai donc changé , vider totalement les infos des navigateurs mais rebelotte.

un exemple de formulaire qui affiche mes identifiants :

<form method="post" action="admin.php?action=ajout_user" name="formulaire"  >

	<fieldset id="droit" style="display:block;">
		<legend>Création du compte</legend>
		<label for="identifiantAdd" class="block">Identifiant :</label>
		<input  value="" name="loginAdd" type="text" id="identifiantAdd" size="33"  />
		<br />

		<label for="passwordAdd" class="block">Mot de passe :</label>
		<input  value="" name="passwordAdd" type="password" id="passwordAdd" size="33"  />
		<img src="struct/picto/information.gif" id="passwordAdd_tooltip" title="Laissez vide pour mot de passe par défaut (JJMM = 1803)." alt="" style="cursor:help;" />	<br />
	</fieldset>

</form>


J'ai bien essayez de vider les champs au chargement de la page via du Js mais sans succès.
Y'a t'il quelque chose qui m'échappe ? Comment puis je empêcher ce comportement ? (en gros comment n'afficher les infos enregistrer que sur la page de connexion ?)

Merci pour vos éventuelles réponses.
Les navigateurs peuvent être configurés de manière à proposer à leurs utilisateurs de retenir identifiants et mots de passe, voire de suggérer des saisies sur la base des textes saisis sur les éléments input de type "text". C'est ce que font, par défaut, Internet Explorer et Firefox. Ces fonctionnalités peuvent être désactivées ; mais, c'est avant tout, un problème de configuration du navigateur, et non un problème de codage.
Salut,

pas sûr de bien comprendre mais dès qu'un formulaire contient un INPUT text, un INPUT password et un INPUT submit (je n'ai pas fait d'autres tests avec Firefox) le navigateur propose de sauvegarder les identifiants. Par contre si un autre formulaire a d'autres noms d'INPUT (name) il n'y a aucune raison qu'il affiche une valeur par défaut la première fois même s'il va à nouveau proposer de sauvegarder les identifiants.

Quoi qu'il en soit c'est une fonctionnalité des navigateurs et tu n'as pas à t'en préoccuper à priori (si ce n'est de modifier l'attribut name).


Edit: Grillé ! Smiley smile
Modifié par Heyoan (18 Mar 2010 - 11:41)
En fait après moulte investigations :

Il s'avère que lorsque l'on sauvegarde un couple identifiant/mot de passe , le navigateur va rechercher les champs type password dans tous les formulaires du site.
Si il en trouve un il le rempli ,et remplira le champs text juste avant lui avec l'identifiant, même si ce dernier n'a aucun rapport (et ce quelque soit son name).

J'ai finalement trouvé l'attribut "autocomplete" qu'il faut mettre à "off". Cela permet d'empêcher le remplissage des inputs qui ne devrait pas l'être :
<input type="password" autocomplete="off" />

J'ai pas tester mais ce n'est à mon avis pas standard , mais ca à le mérite d'arriver au fonctionnement souhaité.

Merci pour ta réponse cependant Smiley smile
Modifié par grunky (18 Mar 2010 - 11:43)
grunky a écrit :
J'ai pas tester mais ce n'est à mon avis pas standart , mais ca à le mérite d'arriver au fonctionnement souhaité.
Effectivement ça n'est pas standard mais surtout je ne vois pas pourquoi tu décides à la place de ton visiteur s'il peut ou non sauvegarder son mot de passe ! Smiley ohwell
Heyoan a écrit :
Effectivement ça n'est pas standard mais surtout je ne vois pas pourquoi tu décides à la place de ton visiteur s'il peut ou non sauvegarder son mot de passe ! Smiley ohwell


Je ne décide pas à sa place :
Admettons , j'ai sauvegardé mon mot de passe. Je me rend sur mon admin ou j'ai un formulaire pour créer un nouvel utilisateur.
J'ai donc dans ce formulaire , un champs text , suivi d'un champs password (entre autre). Ces deux champs seront pré remplis avec mes identifiants car j'ai choisi de sauvegardé mon mot de passe (quelque soit le nom du champs).
Alors que le but du formulaire est de créer un nouvel utilisateur et que mes identifiants n'ont pas lieux d'être ailleurs que sur la page d'identification.
Modifié par grunky (18 Mar 2010 - 11:47)
grunky a écrit :
Ces deux champs seront pré remplis avec mes identifiants car j'ai choisi de sauvegardé mon mot de passe (quelque soit le nom du champs)
Euh... avec quel navigateur as-tu ce comportement ? Je viens de refaire le test avec Firefox et comme les noms de champs sont différents ils ne sont heureusement pas pré-remplis ?
Firefox 3.6 et Chrome 3.0 on ce comportement. Je n'ai pas tester avec d'autre pour le moment.
Après c'est peut être du à une config particulière de mes navigateurs , mais je ne suis pas le seul à qui cela arrive.

Je ne sauvegarde jamais mes mots de passe donc je ne mettait jamais rendu compte du problème mais certains utilisateur de cette application m'on remonté le problème.
Modifié par grunky (18 Mar 2010 - 11:59)