Heim > Backend-Entwicklung > PHP-Problem > So setzen Sie ein Cookie, um sich das Passwort in PHP zu merken

So setzen Sie ein Cookie, um sich das Passwort in PHP zu merken

藏色散人
Freigeben: 2023-03-12 14:28:01
Original
3333 Leute haben es durchsucht

So legen Sie Cookies fest, um Passwörter in PHP zu speichern: 1. Legen Sie auf der Seite login.php das Formular fest. 2. Überprüfen Sie die Formularinformationen auf der Anmeldeseite und erstellen Sie Cookies. 3. Überprüfen Sie die Sitzung und verwenden Sie Cookies, um Werte zuzuweisen .

So setzen Sie ein Cookie, um sich das Passwort in PHP zu merken

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

php merkt sich das Passwort und meldet sich beim nächsten Mal automatisch an

Dieser Blog schreibt auch, dass realisiert wird „Erinnern“ Die Funktionsmethode „Mein Anmeldestatus“ besteht kurz gesagt darin, der Sitzung zunächst Benutzerinformationen zuzuweisen, die Sitzung zu erkennen und ihr nach Ablauf mithilfe von Cookies Werte zuzuweisen Im Implementierungsprozess gemäß einigen Codes im Internet Veröffentlichen Sie den folgenden Code und sortieren Sie ihn aus: Darüber hinaus können Sie sich auf die Implementierungsidee für die PHP-Anmeldung mit Kennwort merken beziehen
Legen Sie auf der Seite login.php das Formular fest:

<?php
session_start();
?>
<form  action="login_chk.php" method="post">
  
Nach dem Login kopieren
Die Seite login_chk.php wird verwendet, um die Formularinformationen der Anmeldeseite zu überprüfen und Cookies zu erstellen:

 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 ?>
Nach dem Login kopieren

menu.php und andere Funktionsseiten überprüfen die Sitzung:

<?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{
?>
网页主体
?>
Nach dem Login kopieren

Was die Überprüfung der Sitzung und das Ungültigmachen der Zuordnung mithilfe von Cookies betrifft, ist dies der Fall implementiert in index1.php (Indexprüfseite):

 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 ?>
Nach dem Login kopieren

Darüber hinaus wird unter Berücksichtigung der Tatsache, dass sich der Benutzer vom System abmelden oder sich abmelden und erneut anmelden muss, die Abmeldeseite 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");
?>
Nach dem Login kopieren

eingerichtet. Nach der Implementierung ist die Nutzung reibungslos. Allerdings ist die Cookie- und Sitzungsspeicherung von Passwörtern nicht sehr sinnvoll und das Passwortformular wird nicht standardmäßig auf der Benutzeranmeldeoberfläche gespeichert. Dieser Aspekt der Funktion muss noch verbessert werden.

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo setzen Sie ein Cookie, um sich das Passwort in PHP zu merken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage