この記事では主に PHP Mysql jQuery のパスワード検索機能を紹介します。興味のある方はぜひ参考にしてください。
一般的に知られているパスワード取得機能では、パスワードは暗号化されて保存されているため、実際には忘れたパスワードを取得することはできません。通常、開発者はユーザー情報を確認した後、プログラムを通じて新しいパスワードを生成するか、特定のリンクを生成して送信します。ユーザーのメールボックスに電子メールを送信すると、ユーザーは電子メール リンクから Web サイトのパスワード リセット モジュールに新しいパスワードをリセットします。
もちろん、現在、一部の Web サイトでは、パスワードを取得するために携帯電話のテキスト メッセージを使用しています。原則として、確認用の電子メールを送信するのと同じように、パスワードをリセットする必要があります。パスワードの取得プロセスを完了します。
一般的な手順は次のとおりです:
1. フォームへの登録時に電子メール アドレスを入力します。ユーザーの電子メール アドレスが正しいことを確認します。メールボックスが Web サイトのユーザー テーブルに存在する場合は、ユーザーにメッセージが表示されます。ユーザーのメールボックスがユーザー テーブルに存在する場合は、ユーザー情報を確認するために使用する文字列を結合します。を作成し、それをユーザーのメールボックスに送信します。
4. ユーザーはメールボックスにログインし、Web サイト検証プログラムへの URL リンクをクリックします。ユーザーが要求した文字列を介してユーザー テーブルを検索し、ユーザー情報が正しいかどうかを比較します。 正しい場合は、パスワードのリセット ページに移動して、新しいパスワードの設定を再試行します。無効です。
HTML
ユーザーが登録に使用した電子メール アドレスを入力し、フロントエンド JS を送信するように要求するページをパスワード取得ページに配置します。インタラクションを処理します。
<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 はまずメールの形式が正しいかどうかを確認し、正しい場合は Ajax リクエストを送信します。バックグラウンドの sendmail.php 、sendmail.php は、メールボックスが存在するかどうかを確認し、電子メールを送信する役割を果たし、対応する処理結果をフロント ページに返します。
$(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 id="msg">"+msg+"</h3>");
}
});
}
});
})
jQuery コードを参照してください。上記で使用したコードは、フロントエンドの対話型操作を完了するのに非常に便利で簡潔です。特定の jQuery 基盤がある場合、上記のコードは一目瞭然であり、説明する必要はありません。
PHP
sendmail.php は、電子メールがシステム ユーザー テーブルに存在するかどうかを確認する必要があります。存在する場合は、ユーザー情報を読み取り、ユーザー ID、ユーザー名を起動します。 md5 暗号化は、パスワードを取得するための検証コードとして特別な文字列を生成し、URL を構築します。同時に、URL リンクの適時性を制御するために、ユーザーがパスワード取得アクションを送信したときに操作時間を記録し、最後に電子メール送信クラスを呼び出してユーザーのメールボックスに電子メールを送信します。 class smtp.class.php がパッケージ化されていますのでダウンロードしてください。
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.jb51.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 = "jb51.net - 找回密码";
$emailbody = "亲爱的".$email.":<br/>您在".$time."提交了找回密码请求。请点击下面的链接重置密码
(按钮24小时内有效)。<br/><a href='".$url."'target='_blank'>".$url."</a>";
$rs = $smtp->sendmail($smtpemailto, $smtpemailfrom, $emailsubject, $emailbody, $emailtype);
return $rs;
}
わかりました。この時点で、メールボックスに helloweba からのパスワード取得メールが届きます。メールの内容に、確認用の jb51.net への URL リンクがあります。
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 は、まずパラメータ email と token を受け取り、次に email に基づいてデータ テーブル t_user に電子メールが存在するかどうかをクエリし、存在する場合はユーザーの情報を取得します。トークンの結合方法は次のとおりです。 sendmail.php と同じ トークン値を構築し、URL で渡されたトークンと比較します。 現在の時刻と電子メールが送信された時刻の差が 24 時間以上ある場合、「リンクは次のとおりです。」というプロンプトが表示されます。それ以外の場合は、リンクが有効であることを意味し、リセット ページにリダイレクトされます。パスワードの設定ページで、最後にユーザーが自分で新しいパスワードを設定します。
要約: この記事の登録電子メールの検証と電子メールによるパスワードの取得を通じて、Web サイト開発における電子メール送信の用途とその重要性がわかりました。 もちろん、現在では関連する SMS を必要とする SMS 検証アプリケーションも人気があります。接続するだけです。
最後に、データ テーブル t_user 構造を添付します: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;
要約:
上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。
関連する推奨事項:
赤と青の投票例の PHP jQuery MySql 実装
以上がPHP+Mysql+jQueryでパスワード検索機能を実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール
