웹사이트를 구축하다 보면 비밀번호를 기억하고 다음번에는 자동로그인을 해야하고, 일주일 안에 로그인을 피하고, 한 달 안에 로그인을 피해야 하는 경우가 종종 발생합니다. 이 기능은 일반적으로 쿠키를 통해 구현됩니다. 이 기사에서는 이 요구 사항을 달성하기 위해 PHP를 사용하는 방법에 대해 간략하게 설명합니다. 물론 이 요구 사항을 충족하는 방법에는 여러 가지가 있습니다.
전체 프로세스는 사용자가 로그인할 때 비밀번호를 기억하기로 선택하거나 사용자가 성공적으로 로그인한 후 일주일 동안 로그인할 필요가 없는 경우 자동 로그인을 구현하는 쿠키의 데이터를 저장하는 것입니다. 사용자를 위해 데이터베이스에 저장되며, 다음 자동 로그인 시 확인을 위해 사용됩니다. 인증이 통과되면 자동으로 로그인됩니다. 그렇지 않으면 로그인하려면 사용자 이름과 비밀번호를 입력해야 합니다. 저장된 쿠키 값은 임의의 코드를 가질 수 있습니다.
구체적인 샘플코드는 다음과 같습니다.
$username=trim($_POST['username']); $password=md5(trim($_POST['password'])); $ref_url=$_GET['req_url']; $remember=$_POST['remember'];//是否自动登录标示 $err_msg=''; if($username==''||$password==''){ $err_msg="用户名和密码都不能为空"; }else{ $row=getUserInfo($username,$password); if(empty($row)){ $err_msg="用户名和密码都不正确"; }else{ $_SESSION['user_info']=$row; if(!empty($remember)){//如果用户选择了,记录登录状态就把用户名和加了密的密码放到cookie里面 setcookie("username",$username,time()+3600*24*365); setcookie("password",$password,time()+3600*24*365); } if(strpos($ref_url,"login.php")===false){ header("location:".$ref_url); }else{ header("location:main_user.php"); } } }
또한, 홈페이지의 각 페이지 방문시 아래의 기능을 먼저 확인하셔야 합니다.
//检查用户是否登录 function checklogin(){ if(empty($_SESSION['user_info'])){//检查一下session是不是为空 if(empty($_COOKIE['username'])||empty($_COOKIE['password'])){//如果session为空,并且用户没有选择记录登录状 header("location:login.php?req_url=".$_SERVER['REQUEST_URI']);//转到登录页面,记录请求的url,登录后跳转过去,用户体验好。 }else{//用户选择了记住登录状态 $user=getUserInfo($_COOKIE['username'],$_COOKIE['password']);//去取用户的个人资料 if(empty($user)){//用户名密码不对没到取到信息,转到登录页面 header("location:login.php?req_url=".$_SERVER['REQUEST_URI']); }else{ $_SESSION['user_info']=$user;//用户名和密码对了,把用户的个人资料放到session里面 } } } }
추천 튜토리얼: PHP 비디오 튜토리얼
위 내용은 PHP에서 비밀번호를 기억하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!