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

Dreamgratuit - Philosophie

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.

Catégorie : Formulaires | Permalien [#] | Tags : , ,