Comment définir les cookies pour mémoriser les mots de passe en php : 1. Dans la page login.php, définissez le formulaire ; 2. Vérifiez les informations du formulaire sur la page de connexion et créez des cookies ; 3. Vérifiez la session et utilisez les cookies pour attribuer des valeurs ; .
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
php réalise qu'il mémorise le mot de passe et se connecte automatiquement la prochaine fois
Ce blog écrit également que réalise "se souvenir" La fonction méthode de "mon statut de connexion", en bref, consiste d'abord à attribuer des informations utilisateur à la session, à détecter la session et à utiliser des cookies pour lui attribuer des valeurs après son expiration
; Dans le processus d'implémentation, selon certains codes sur Internet, postez-le et triez le code suivant : De plus, vous pouvez vous référer à l'idée d'implémentation du mot de passe de connexion PHP
Dans la page login.php, définissez le formulaire :
<?php session_start(); ?> <form action="login_chk.php" method="post">
login_chk.php est utilisée pour vérifier les informations du formulaire de la page de connexion et créer des cookies :
1 <?php 2 header("Content-type:text/html;charset=gb2312"); 3 4 session_start(); 5 include_once("conn/conn.php"); //加载数据库连接文件 6 7 error_reporting(0); 8 9 if(empty($_POST['username']) or empty($_POST['pass'])){10 echo "<script language='javascript'>alert('用户名和密码不能为空!');history.go(-1);</script>";11 }12 else{ 13 $username=$_POST['username'];14 $pass=$_POST['pass'];15 $password = md5($pass);16 $remember = $_POST['remember']; 17 18 $testrst = sqlsrv_query($conn, "select * from Employee where name like '$username' or number like '$username'"); //执行查询操作 19 20 if(!empty($remember)){ //如果用户选择了,记录登录状态就把用户名和加了密的密码放到cookie里面 21 setcookie("username", $username, time()+3600*24*30); 22 setcookie("password", $pass, time()+3600*24*30); 23 } 24 25 26 27 28 29 if(sqlsrv_has_rows($testrst)){30 31 $rst = sqlsrv_query($conn, "select * from Employee where (name like '$username' or number like '$username') and pwd = '$password'");32 33 34 if(sqlsrv_has_rows($rst)){ //判断登录用户名和密码是否正确35 $adminrow = sqlsrv_fetch_array($rst);37 $userwhethe = 0;38 $_SESSION['id']=$adminrow[0]; 41 $_SESSION['number']=$adminrow[1];42 $_SESSION['name']=$adminrow[2];43 if($username == $adminrow[1]){44 $_SESSION['type'] = 1;45 }else{46 $_SESSION['type'] = 2;47 }57 59 echo "<meta http-equiv=\"refresh\" content=\"0;url=menu.php\" />";60 64 }else{65 echo "<script>alert('密码错误,请重新登录。');history.go(-1);</script>";66 }67 }else{68 echo "<script>alert('该用户名不存在!,请重新登录。');history.go(-1);</script>";69 }70 }71 72 ?>
menu.php et d'autres pages fonctionnelles vérifieront la session :
<?php session_start(); include_once("conn/conn.php"); error_reporting(0); if(empty($_SESSION['name']) and empty($_SESSION['id'])){ //判断当前用户是否为登录状态 echo "<script>alert('请登录后再进行执行操作!');history.go(-1);</script>"; }else{ ?> 网页主体 ?>
Quant à la vérification de la session et à l'invalidation de l'affectation à l'aide de cookies, il est implémenté dans index1.php (page de vérification de l'index) :
1 <?php 2 session_start(); 3 4 if(empty($_SESSION['username'])){ //检查一下session是不是为空 5 if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){ 6 header("location:login.php"); 7 }else{ 8 $_SESSION['name'] = $_COOKIE['username']; 9 header("location:menu.php"); 10 } 11 12 }13 ?>
De plus, si l'utilisateur doit se déconnecter du système ou se déconnecter et se reconnecter, la page de déconnexion logout.php:
<?php session_start(); unset($_SESSION['username']); unset($_SESSION['password']); setcookie('username','',0); setcookie('password','',0); header("location:index.php"); ?>
est configurée. Après mise en œuvre, l’utilisation est fluide. Cependant, la sauvegarde des mots de passe par cookie et session n'est pas très adaptée, et le formulaire de mot de passe n'est pas enregistré par défaut sur l'interface de connexion utilisateur. Cet aspect de la fonction doit encore être amélioré.
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!