Heim  >  Artikel  >  Backend-Entwicklung  >  So merken Sie sich das Passwort in PHP

So merken Sie sich das Passwort in PHP

王林
王林Original
2019-09-26 11:49:054664Durchsuche

So merken Sie sich das Passwort in PHP

Beim Erstellen einer Website müssen wir uns häufig das Passwort merken, uns beim nächsten Mal automatisch anmelden, die Anmeldung innerhalb einer Woche vermeiden und die Anmeldung innerhalb eines Monats vermeiden. Diese Funktion wird grundsätzlich durch Cookies realisiert. In diesem Artikel wird kurz darauf eingegangen, wie PHP zum Erreichen dieser Anforderung verwendet werden kann. Natürlich gibt es viele Möglichkeiten, diese Anforderung zu erfüllen.

Der gesamte Prozess besteht darin, dass, wenn sich der Benutzer anmeldet, sich das Passwort merken möchte oder sich eine Woche lang nicht anmelden muss usw., nach erfolgreicher Anmeldung des Benutzers ein Cookie mit Daten erstellt wird Die automatische Anmeldung wird bei der nächsten automatischen Anmeldung zur Benutzertabelle in der Datenbank gespeichert. Wenn die Verifizierung erfolgreich ist, melden Sie sich automatisch an. Andernfalls müssen Sie Ihren Benutzernamen und Ihr Passwort eingeben, um sich anzumelden. Der gespeicherte Cookie-Wert kann einen zufälligen Code annehmen.

Der spezifische Beispielcode lautet wie folgt:

$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");
  }
 }
}

Außerdem müssen beim Besuch jeder Seite der Website zunächst die folgenden Funktionen überprüft werden.

//检查用户是否登录
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里面
  }
  }
 }
}

Empfohlenes Tutorial: PHP-Video-Tutorial

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

Stellungnahme:
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