


So implementieren Sie die Funktion zum Abrufen eines vergessenen Passworts in PHP
PHP implementiert die Funktion zum Vergessen des Passworts: Geben Sie bei der Registrierung zuerst die E-Mail-Adresse ein, überprüfen Sie dann, ob die E-Mail-Adresse des Benutzers korrekt ist, und erstellen Sie eine URL, die an den Benutzer gesendet werden soll E-Mail-Adresse; schließlich implementieren Sie die Login-E-Mail-Adresse des Benutzers, um E-Mails zu erhalten, und rufen Sie die Seite zum Zurücksetzen des Passworts auf, um ein neues Passwort zurückzusetzen.
Empfohlen: „PHP-Video-Tutorial“
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 5.6. Diese Methode ist für alle Computermarken geeignet.
PHP+Mysql+jQuery realisiert eine Funktion zum Abrufen von Passwörtern
Natürlich verfügen einige Websites jetzt auch über die Methode zum Abrufen von Passwörtern per SMS. Das Prinzip besteht darin, die Identität durch Senden eines Bestätigungscodes zu überprüfen Dies entspricht dem Versenden einer E-Mail zur Bestätigung. Am Ende müssen Sie den Vorgang zum Abrufen Ihres Passworts noch abschließen, indem Sie es zurücksetzen.
Dieser Artikel verwendet PHP+Mysql+jQuery, um eine Passwort-Abruffunktion zu implementieren. Die allgemeinen Schritte sind:
1. Überprüfen Sie, ob die E-Mail-Adresse des Benutzers korrekt ist. Wenn die E-Mail-Adresse des Benutzers nicht in der Benutzertabelle vorhanden ist, wird angezeigt, dass das Postfach des Benutzers nicht registriert ist.
3 Wenn das Postfach des Benutzers in der Benutzertabelle vorhanden ist, kombinieren Sie die Zeichenfolge Wird verwendet, um die Benutzerinformationen zu überprüfen und eine URL zu erstellen, die an die Mailbox des Benutzers gesendet werden soll. 4. Der Benutzer meldet sich bei der Mailbox an, um die E-Mail zu erhalten, und klickt auf den URL-Link zum Website-Verifizierungsprogramm Das Website-Programm fragt die lokale Benutzertabelle anhand der vom Benutzer angeforderten Zeichenfolge ab und vergleicht, ob die Benutzerinformationen korrekt sind Benutzer, dass die Verifizierung ungültig ist.
HTML
Wir platzieren eine Seite auf der Seite zum Abrufen des Passworts, auf der der Benutzer die für die Registrierung verwendete E-Mail-Adresse eingeben muss, und senden dann die Front-End-JS, um die Interaktion abzuwickeln.
<p><strong>输入您注册的电子邮箱,找回密码:</strong></p> <p><input type="text" class="input" name="email" id="email"><span id="chkmsg"></span></p> <p><input type="button" class="btn" id="sub_btn" value="提 交"></p>
jQuery
Nachdem der Benutzer die E-Mail-Adresse eingegeben und auf „Senden“ geklickt hat, überprüft jQuery zunächst, ob das E-Mail-Format korrekt ist, und sendet eine Ajax-Anfrage an den Hintergrund, für den sendmail.php verantwortlich ist Überprüfen Sie, ob die E-Mail-Adresse vorhanden ist, und senden Sie die E-Mail. Die entsprechenden Verarbeitungsergebnisse werden an die Startseite zurückgegeben. Bitte beachten Sie den jQuery-Code:
$(function(){ $("#sub_btn").click(function(){ var email = $("#email").val(); var preg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; //匹配Email if(email=='' || !preg.test(email)){ $("#chkmsg").html("请填写正确的邮箱!"); }else{ $("#sub_btn").attr("disabled","disabled").val('提交中..').css("cursor","default"); $.post("sendmail.php",{mail:email},function(msg){ if(msg=="noreg"){ $("#chkmsg").html("该邮箱尚未注册!"); $("#sub_btn").removeAttr("disabled").val('提 交').css("cursor","pointer"); }else{ $(".demo").html("<h3>"+msg+"</h3>"); } }); } }); })
Der oben verwendete jQuery-Code ist sehr praktisch und prägnant, um das Front-End interaktiv zu vervollständigen Wenn Sie über eine bestimmte jQuery-Grundlage verfügen, ist der obige Code auf einen Blick klar und erfordert keine große Erklärung.
Vergessen Sie natürlich nicht, die jQuery-Bibliotheksdatei auf die Seite zu laden. In 80 % der Fälle fragen mich einige Studenten, warum sie die von helloweba.net heruntergeladene Demo nicht verwenden können oder andere Dateien sind falsch und die erforderlichen Dateien werden nicht geladen.
PHP
sendmail.php muss überprüfen, ob die E-Mail in der Systembenutzertabelle vorhanden ist. Wenn ja, lesen Sie die Benutzerinformationen, verschlüsseln Sie die Benutzer-ID, den Benutzernamen und das Passwort mit MD5, um eine spezielle Zeichenfolge als Bestätigungscode zum Abrufen zu generieren Geben Sie das Passwort ein und erstellen Sie dann die URL. Um die Aktualität des URL-Links zu kontrollieren, zeichnen wir gleichzeitig die Vorgangszeit auf, wenn der Benutzer die Aktion zum Abrufen des Passworts sendet, und rufen schließlich die E-Mail-Sendeklasse auf, um die E-Mail an das Postfach des Benutzers zu senden Die Klasse smtp.class.php wurde gepackt, bitte laden Sie sie herunter.
include_once("connect.php");//连接数据库 $email = stripslashes(trim($_POST['mail'])); $sql = "select id,username,password from `t_user` where `email`='$email'"; $query = mysql_query($sql); $num = mysql_num_rows($query); if($num==0){//该邮箱尚未注册! echo 'noreg'; exit; }else{ $row = mysql_fetch_array($query); $getpasstime = time(); $uid = $row['id']; $token = md5($uid.$row['username'].$row['password']);//组合验证码 $url = "http://www.helloweba.net/demo/resetpass/reset.php?email=".$email." &token=".$token;//构造URL $time = date('Y-m-d H:i'); $result = sendmail($time,$email,$url); if($result==1){//邮件发送成功 $msg = '系统已向您的邮箱发送了一封邮件<br/>请登录到您的邮箱及时重置您的密码!'; //更新数据发送时间 mysql_query("update `t_user` set `getpasstime`='$getpasstime' where id='$uid '"); }else{ $msg = $result; } echo $msg; } //发送邮件 function sendmail($time,$email,$url){ include_once("smtp.class.php"); $smtpserver = ""; //SMTP服务器,如smtp.163.com $smtpserverport = 25; //SMTP服务器端口 $smtpusermail = ""; //SMTP服务器的用户邮箱 $smtpuser = ""; //SMTP服务器的用户帐号 $smtppass = ""; //SMTP服务器的用户密码 $smtp = new Smtp($smtpserver, $smtpserverport, true, $smtpuser, $smtppass); //这里面的一个true是表示使用身份验证,否则不使用身份验证. $emailtype = "HTML"; //信件类型,文本:text;网页:HTML $smtpemailto = $email; $smtpemailfrom = $smtpusermail; $emailsubject = "Helloweba.com - 找回密码"; $emailbody = "亲爱的".$email.":<br/>您在".$time."提交了找回密码请求。请点击下面的链接重置密码 (按钮24小时内有效)。<br/><a href='".$url."'target='_blank'>".$url."</a>"; $rs = $smtp->sendmail($smtpemailto, $smtpemailfrom, $emailsubject, $emailbody, $emailtype); return $rs; }
Okay, zu diesem Zeitpunkt erhält Ihre E-Mail eine E-Mail zum Abrufen des Passworts. Der E-Mail-Inhalt enthält einen URL-Link. Klicken Sie auf den Link zu „reset.php“ von helloweba.net, um Ihre E-Mail zu bestätigen.
include_once("connect.php");//连接数据库 $token = stripslashes(trim($_GET['token'])); $email = stripslashes(trim($_GET['email'])); $sql = "select * from `t_user` where email='$email'"; $query = mysql_query($sql); $row = mysql_fetch_array($query); if($row){ $mt = md5($row['id'].$row['username'].$row['password']); if($mt==$token){ if(time()-$row['getpasstime']>24*60*60){ $msg = '该链接已过期!'; }else{ //重置密码... $msg = '请重新设置密码,显示重置密码表单,<br/>这里只是演示,略过。'; } }else{ $msg = '无效的链接'; } }else{ $msg = '错误的链接!'; } echo $msg;
reset.php akzeptiert zuerst die Parameter E-Mail und Token und fragt dann basierend auf der E-Mail ab, ob die E-Mail in der Datentabelle t_user vorhanden ist. Wenn vorhanden, rufen Sie die Benutzerinformationen ab und erstellen Sie den Tokenwert auf die gleiche Weise wie Vergleichen Sie die Token-Kombination in sendmail.php mit dem von der URL übergebenen Token. Wenn die Differenz zwischen der aktuellen Zeit und der Zeit, zu der die E-Mail gesendet wurde, mehr als 24 Stunden beträgt, wird die Meldung „Der Link ist abgelaufen“ angezeigt. Andernfalls bedeutet dies, dass der Link gültig ist und Sie zur Seite zum Zurücksetzen des Passworts weitergeleitet werden. Schließlich ist es Sache des Benutzers, ein neues Passwort festzulegen.
Zusammenfassung: Passwortabruf durch registrierte E-Mail-Verifizierung und die E-Mail dieses Artikels. Wir kennen die Anwendung des E-Mail-Versands in der Website-Entwicklung und ihre Bedeutung. Natürlich sind SMS-Verifizierungsanwendungen jetzt auch beliebt, und dies erfordert das entsprechende Andocken der SMS-Schnittstelle.
Schließlich hängen Sie die Datentabelle t_user-Struktur an:
CREATE TABLE `t_user` ( `id` int(11) NOT NULL auto_increment, `username` varchar(30) NOT NULL, `password` varchar(32) NOT NULL, `email` varchar(50) NOT NULL, `getpasstime` int(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Funktion zum Abrufen eines vergessenen Passworts in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.
