> 백엔드 개발 > PHP 문제 > PHP에서 비밀번호를 기억하도록 쿠키를 설정하는 방법

PHP에서 비밀번호를 기억하도록 쿠키를 설정하는 방법

藏色散人
풀어 주다: 2023-03-12 14:28:01
원래의
3362명이 탐색했습니다.

PHP에서 비밀번호를 기억하도록 쿠키를 설정하는 방법: 1. login.php 페이지에서 양식을 설정합니다. 2. 로그인 페이지에서 양식 정보를 확인하고 쿠키를 만듭니다. 3. 세션을 확인하고 쿠키를 사용하여 값을 할당합니다. .

PHP에서 비밀번호를 기억하도록 쿠키를 설정하는 방법

이 글의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php는 비밀번호를 기억하고 다음 번에 자동으로 로그인하는 것을 실현합니다.

이 블로그에서도 실현하는 것을 실현합니다 "기억" "내 로그인 상태"의 기능 방법은 먼저 세션에 사용자 정보를 할당하고, 세션을 감지하고, 만료된 후 쿠키를 사용하여 값을 할당하는 것입니다. 구현 과정에서 인터넷의 일부 코드에 따라 게시하고 다음 코드를 정렬합니다. 또한 PHP 로그인 비밀번호 기억 구현 아이디어를 참조할 수 있습니다.
login.php 페이지에서 다음 형식을 설정합니다.

<?php
session_start();
?>
<form  action="login_chk.php" method="post">
  
로그인 후 복사

login_chk.php 페이지는 로그인 페이지 양식 정보를 확인하고 쿠키를 생성하는 데 사용됩니다:

 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 ?>
로그인 후 복사

menu.php 및 기타 기능 페이지는 세션을 확인합니다:

<?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{
?>
网页主体
?>
로그인 후 복사

세션을 확인하고 쿠키를 사용하여 할당을 무효화하는 방법은 다음과 같습니다. index1.php에 구현됨(인덱스 확인 페이지):

 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 ?>
로그인 후 복사

또한, 사용자가 시스템에서 로그아웃하거나 로그아웃했다가 다시 로그인해야 하는 경우를 고려하여 로그아웃 페이지 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");
?>
로그인 후 복사

가 설정됩니다. 구현 후 사용이 원활합니다. 그러나 쿠키 및 세션 비밀번호 저장은 그다지 적합하지 않으며 사용자 로그인 인터페이스에는 비밀번호 양식이 기본적으로 저장되지 않습니다. 이 기능 측면은 여전히 ​​개선되어야 합니다.

추천 학습: "

PHP 비디오 튜토리얼

"

위 내용은 PHP에서 비밀번호를 기억하도록 쿠키를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿