Heim Backend-Entwicklung PHP-Problem So implementieren Sie die Funktion zum Abrufen vergessener Passwörter in PHP

So implementieren Sie die Funktion zum Abrufen vergessener Passwörter in PHP

Nov 16, 2020 am 09:21 AM
php

So implementieren Sie die Funktion zum Abrufen vergessener Passwörter in PHP: 1. Benutzer müssen bei der Registrierung eine E-MAIL angeben. 2. Öffnen Sie das Formular und geben Sie die für die Registrierung verwendete E-MAIL ein. 3. Suchen Sie die Benutzerinformationen aus der Datenbank , Und aktualisieren Sie das Passwort des Benutzers auf ein temporäres Passwort. 4. Verwenden Sie die Jmail-Funktion, um das Passwort zu ändern.

So implementieren Sie die Funktion zum Abrufen vergessener Passwörter in PHP

Die Betriebsumgebung dieses Tutorials: Windows 10-System, PHP5.6. Dieser Artikel gilt für alle Computermarken.

Empfohlen: „PHP-Video-Tutorial

Einfache Implementierung der Funktion zum Abrufen von PHP-Mitgliedskennwörtern

Einstellungsideen

1. Benutzer müssen bei der Registrierung eine E-MAIL angeben. Der Zweck besteht darin, diese E-Mail-Adresse zu verwenden Passwörter abrufen.

2. Wenn der Benutzer sein Passwort oder seinen Benutzernamen vergisst, klicken Sie auf der Anmeldeseite auf den Hyperlink „Passwort abrufen“, öffnen Sie das Formular, geben Sie die für die Registrierung verwendete E-Mail-Adresse ein und senden Sie es ab.

3. Das System findet die Benutzerinformationen aus der Datenbank über das Postfach und aktualisiert das Passwort des Benutzers auf ein temporäres Passwort (zum Beispiel: 12345678).

4. Das System verwendet die Jmail-Funktion, um die Informationen des Benutzers an die Mailbox des Benutzers zu senden (der Inhalt umfasst: Benutzername, temporäres Passwort und Aufforderungen, den Benutzer daran zu erinnern, das temporäre Passwort rechtzeitig zu ändern).

5. Benutzer können sich mit einem temporären Passwort anmelden.

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.

Der Code lautet wie folgt:

<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="http://www.bitscn.com/pdb/php/201609/提 交"></p>
Nach dem Login kopieren

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 sendmail.php . sendmail.php ist dafür verantwortlich, zu überprüfen, ob die E-Mail-Adresse vorhanden ist, und sendet die entsprechenden Verarbeitungsergebnisse an die Startseite. Bitte sehen Sie sich den jQuery-Code an:

Der Code lautet wie folgt

$(function(){ 
$("#sub_btn").click(function(){ 
var email = $("#email").val(); 
var preg = /^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/; //匹配Email 
if(email==&#39;&#39; || !preg.test(email)){ 
$("#chkmsg").html("請填寫正確的郵箱!"); 
}else{ 
$("#sub_btn").attr("disabled","disabled").val(&#39;提交中..&#39;).css("cursor","default"); 
$.post("sendmail.php",{mail:email},function(msg){ 
if(msg=="noreg"){ 
$("#chkmsg").html("該郵箱尚未註冊!"); 
$("#sub_btn").removeAttr("disabled").val(&#39;提 交&#39;).css("cursor","pointer"); 
}else{ 
$(".demo").html("<h3>"+msg+"</h3>"); 
} 
}); 
} 
}); 
})
Nach dem Login kopieren

Der oben verwendete jQuery-Code lautet Sehr praktisch und prägnant, um den interaktiven Front-End-Vorgang abzuschließen. Wenn Sie über eine bestimmte jQuery-Grundlage verfügen, ist der obige Code selbsterklärend und erfordert keine 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 aus dem Internet heruntergeladene Demo nicht verwenden können oder anderen Dateien ist 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 zu generieren Rufen Sie das Passwort ab 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.

Der Code lautet wie folgt:

include_once("connect.php");//連接數據庫 

$email = stripslashes(trim($_POST[&#39;mail&#39;])); 

$sql = "select id,username,password from `t_user` where `email`=&#39;$email&#39;"; 
$query = mysql_query($sql); 
$num = mysql_num_rows($query); 
if($num==0){//該郵箱尚未註冊! 
echo &#39;noreg&#39;; 
exit; 
}else{ 
$row = mysql_fetch_array($query); 
$getpasstime = time(); 
$uid = $row[&#39;id&#39;]; 
$token = md5($uid.$row[&#39;username&#39;].$row[&#39;password&#39;]);//組合驗證碼 
$url = "/demo/resetpass/reset.php?email=".$email." 
&token=".$token;//構造URL 
$time = date(&#39;Y-m-d H:i&#39;); 
$result = sendmail($time,$email,$url); 
if($result==1){//郵件發送成功 
$msg = &#39;系統已向您的郵箱發送了一封郵件<br/>請登錄到您的郵箱及時重置您的密碼!&#39;; 
//更新數據發送時間 
mysql_query("update `t_user` set `getpasstime`=&#39;$getpasstime&#39; where id=&#39;$uid &#39;"); 
}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 = "www.bitsCN.com - 找回密碼"; 
$emailbody = "親愛的".$email.":<br/>您在".$time."提交了找回密碼請求。請點擊下面的鏈接重置密碼 
(按鈕24小時內有效)。<br/><a href=&#39;".$url."&#39;target=&#39;_blank&#39;>".$url."</a>"; 
$rs = $smtp->sendmail($smtpemailto, $smtpemailfrom, $emailsubject, $emailbody, $emailtype); 

return $rs; 
}
Nach dem Login kopieren

Okay, zu diesem Zeitpunkt erhält Ihre E-Mail eine E-Mail zum Abrufen des Passworts. Im E-Mail-Inhalt befindet sich ein URL-Link, um die E-Mail zu überprüfen.

Der Code lautet wie folgt:

include_once("connect.php");//連接數據庫 

$token = stripslashes(trim($_GET[&#39;token&#39;])); 
$email = stripslashes(trim($_GET[&#39;email&#39;])); 
$sql = "select * from `t_user` where email=&#39;$email&#39;"; 

$query = mysql_query($sql); 
$row = mysql_fetch_array($query); 
if($row){ 
$mt = md5($row[&#39;id&#39;].$row[&#39;username&#39;].$row[&#39;password&#39;]); 
if($mt==$token){ 
if(time()-$row[&#39;getpasstime&#39;]>24*60*60){ 
$msg = &#39;該鏈接已過期!&#39;; 
}else{ 
//重置密碼... 
$msg = &#39;請重新設置密碼,顯示重置密碼表單,<br/>這裏只是演示,略過。&#39;; 
} 
}else{ 
$msg = &#39;無效的鏈接&#39;; 
} 
}else{ 
$msg = &#39;錯誤的鏈接!&#39;; 
} 
echo $msg;
Nach dem Login kopieren
reset.php akzeptiert zunächst die Parameter E-Mail und Token und prüft dann anhand der E-Mail, ob die E-Mail vorhanden ist Die Token-Kombinationsmethode ist dieselbe wie in sendmail.php. Erstellen Sie den Token-Wert und vergleichen Sie ihn dann mit dem von der URL übergebenen Token. Wenn die Differenz zwischen der aktuellen Zeit und der Zeit, zu der die E-Mail gesendet wird, mehr als 24 Stunden beträgt, wird dies der Fall sein Eingabeaufforderung „Der Link ist abgelaufen!“. Andernfalls bedeutet dies, dass der Link gültig ist und zur Seite „Passwort festlegen“ weitergeleitet wird und der Benutzer schließlich selbst ein neues Passwort festlegt.

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.

Fügen Sie abschließend die Datentabelle t_user-Struktur hinzu:

Der Code lautet wie folgt: hier nicht vorgestellt werden Sie können auf dieser Website nach der entsprechenden Datenbankverbindungs-MySQL-Klasse suchen

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Funktion zum Abrufen vergessener Passwörter in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

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.

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

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

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles