Comment définir un cookie pour mémoriser le mot de passe en php

藏色散人
Libérer: 2023-03-12 14:28:01
original
3325 Les gens l'ont consulté

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 ; .

Comment définir un cookie pour mémoriser le mot de passe en php

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">
  
Copier après la connexion
La page

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[&#39;username&#39;]) or empty($_POST[&#39;pass&#39;])){10     echo "<script language=&#39;javascript&#39;>alert(&#39;用户名和密码不能为空!&#39;);history.go(-1);</script>";11 }12 else{ 
13     $username=$_POST[&#39;username&#39;];14     $pass=$_POST[&#39;pass&#39;];15     $password = md5($pass);16     $remember = $_POST[&#39;remember&#39;]; 
17     
18     $testrst = sqlsrv_query($conn, "select * from Employee where name like &#39;$username&#39; or number like &#39;$username&#39;");    //执行查询操作  
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 &#39;$username&#39; or number like &#39;$username&#39;) and pwd = &#39;$password&#39;");32         
33         
34         if(sqlsrv_has_rows($rst)){                                                              //判断登录用户名和密码是否正确35             $adminrow = sqlsrv_fetch_array($rst);37             $userwhethe = 0;38             $_SESSION[&#39;id&#39;]=$adminrow[0];      
41             $_SESSION[&#39;number&#39;]=$adminrow[1];42             $_SESSION[&#39;name&#39;]=$adminrow[2];43             if($username == $adminrow[1]){44               $_SESSION[&#39;type&#39;] = 1;45             }else{46                $_SESSION[&#39;type&#39;] = 2;47             }57 
59               echo "<meta http-equiv=\"refresh\" content=\"0;url=menu.php\" />";60 64         }else{65           echo "<script>alert(&#39;密码错误,请重新登录。&#39;);history.go(-1);</script>";66         }67    }else{68        echo "<script>alert(&#39;该用户名不存在!,请重新登录。&#39;);history.go(-1);</script>";69    }70 }71 
72 ?>
Copier après la connexion

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[&#39;name&#39;]) and empty($_SESSION[&#39;id&#39;])){              //判断当前用户是否为登录状态
echo "<script>alert(&#39;请登录后再进行执行操作!&#39;);history.go(-1);</script>";
}else{
?>
网页主体
?>
Copier après la connexion

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[&#39;username&#39;])){                                      //检查一下session是不是为空 
 5      if(empty($_COOKIE[&#39;username&#39;]) || empty($_COOKIE[&#39;password&#39;])){  
 6         header("location:login.php");                         
 7      }else{                                                               
 8         $_SESSION[&#39;name&#39;] = $_COOKIE[&#39;username&#39;];   
 9         header("location:menu.php"); 
10     } 
11       
12  }13 ?>
Copier après la connexion

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[&#39;username&#39;]);
unset($_SESSION[&#39;password&#39;]);
setcookie(&#39;username&#39;,&#39;&#39;,0);
setcookie(&#39;password&#39;,&#39;&#39;,0);
header("location:index.php");
?>
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal