Extensions et tutorials gratuits disponibles sur internet pour Dreamweaver. PHP et ASP. Classement thématique. Blog référencé par Adobe Communauté Dreamweaver.

Dreamweaver gratuit

Case à cocher "Se souvenir de moi" - Remember me checkbox

23 octobre 2008 | Posté par caroder à 21:07

Bookmark and Share

Vous la voyez souvent sur les pages de login de sites mais vous ne savez pas comment faire... Ne cherchez pas plus loin, la réponse et le code sont ici en PHP (il existe aussi des solutions javascript mais elles impliquent que celui-ci soit activé dans le browser client).

A noter : dans mon exemple, le nom de la case à cocher s'appelle "remember" et les champs login/mot de passe, "login" et "password". N'oubliez pas d'adapter le code PHP à vos propres besoins ! :-)

Edit : Suite au message ci-dessous de AHmet, je m'aperçois que j'ai oublié de vous préciser les éléments suivants permettant de mieux comprendre le code ci-dessous.

1. J'ai utilisé le comportement serveur Dreamweaver "connecter l'utilisateur" dans la page qui contient ce code
2. On vérifie si la variable remember est postée et on vide
ou non le contenu du cookie.

<?php /* Code à insérer dans le haut de la page */

if(isset($_POST['remember'])){ 
  setcookie("cookiemail", $_POST['login'], time()+60*60*24*100, "/"); 
  setcookie("cookiepass", $_POST['password'], time()+60*60*24*100, "/"); 
} else {
  setcookie("cookiemail","" , NULL, "/"); 
  setcookie("cookiepass","" , NULL, "/"); 
}
?>

<!-- Votre formulaire dans la partie HTML -->
<form name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
    <fieldset>
    <label>Adresse mail :</label>
    <input name="login" type="text" maxlength="100" value="<?php if(isset($_COOKIE['cookiemail'])) { echo $_COOKIE['cookiemail']; } ?>" />
    <br /><br />
    <label>Mot de passe :</label>
    <input name="password" type="password" maxlength="12" value="<?php if(isset($_COOKIE['cookiepass'])) { echo $_COOKIE['cookiepass']; } ?>" />
    <br />
    <br />
    <label>Se souvenir de moi</label>
    <input name="remember" type="checkbox" <? if(isset($_COOKIE['cookiemail']) && ($_COOKIE['cookiemail']!="")) {echo "checked";}  ?>/>
    <br />
    <br />
    <br />
    <p align="center">
<input type="Reset" value="Annuler" class="button" name="effacer" style="top: 640px; ">
<input type="Submit" value="Envoyer" class="button" name="envoie"  style="top: 640px;">
    </p>
    </fieldset>
    </form>

Edit IMPORTANT : merci de consulter ma réponse à Arkolos ci-dessous concernant le problème du cryptage du mot de passe.


Commentaires

    En passant

    Hello,
    quelques petites remarques, au début de ton script tu vérifies si la variable remember est postée. Je pense que tu veux plutôt vérifier que le Cookie est vide?

    Autre chose tu utilise $loginFormAction; pour ton action de formulaire mais dans ton code cette variable n'est jamais déclaré

    Mais merci pour le code

    A+

    Posté par AHmet | 23 octobre 2008 à 22:11
  • un bon exemple

    merci pour ce petit code

    Posté par Lequipe football | 10 février 2009 à 20:13
  • Sécurité

    Est-ce sécurisé de stocker le mot de passe non crypter dans les cookies ?

    Posté par Arkolos | 06 avril 2009 à 21:14
  • Réponse à Arkolos

    Effectivement, il est très nettement préférable de crypter le mot de passe dans le cookie. Pourquoi ? Parce que de très nombreux utilisateurs se servent du même mot de passe pour des dizaines de site, dont des sites de e-commerce permettant le paiment en ligne. Un mot de passe en clair dans un cookie est donc un trou de sécurité important. Il y a de nombreuses possibilité de crypter un mot de passe (md5, etc.). La méthode à choisir est en fonction de la manière dont est généré et traité votre password en base de donnée. Quant à moi, préférant laisser à mes internautes la gestion de leur mot de passe, j'utilise le bout de code de ASP-PHP.net qui se trouve ici : http://www.asp-php.net/ressources/bouts_de_code.aspx?id=663

    Posté par Caroder | 07 avril 2009 à 19:18
  • super directory submitter Website Submitter

    http://www.superdirectorysubmitter.com/

    finally the perfect solution pour webmasters:

    super directory submitter Website Submitter
    is a program designed to submit your web page to thousands 20 000
    of higher Quality directories. It will save you a lot of time, effort and money since its fully semi-automated. You just enter some information about your web page and the program does the rest. With SDS software you will never need to search for places to advertise again.

    Posté par super directory | 26 juillet 2010 à 13:59
  • super directory submitter Website Submitter

    http://www.superdirectorysubmitter.com/

    finally the perfect solution pour webmasters:

    super directory submitter Website Submitter
    is a program designed to submit your web page to thousands 20 000
    of higher Quality directories. It will save you a lot of time, effort and money since its fully semi-automated. You just enter some information about your web page and the program does the rest. With SDS software you will never need to search for places to advertise again.

    Posté par super directory | 26 juillet 2010 à 13:59
 

Poster un commentaire