PHP+Ajax はユーザーのログインを検証するための検証コードを実装します。
この記事では、ユーザーのログインを確認するための PHP+AJAX 認証コードの関連情報を主に紹介します。興味のある方はぜひ参考にしてください。
AJAX を使用してユーザーのログインを確認する利点の 1 つは、ジャンプ ページを更新する必要がないことです。また、確認コードを使用する方が安全なので、しばらくしてから書き留めておきます。合計 3 つのファイルが使用されます:
yz.php: 検証コードは比較用に SESSION に含まれ、ログイン時に呼び出されます。
index.php: ユーザーログインファイル
loginCheck.php: ユーザーログインを検証するファイル
は以下で 1 つずつ分析されます:
<?php session_start(); //生成验证码图 Header("Content-type: image/PNG"); //长与宽 $im = imagecreate(44,18); // 设置背景色: $back = ImageColorAllocate($im, 245,245,245); // 填充背景色: imagefill($im,0,0,$back); srand((double)microtime()*1000000); $vcodes; //生成4位数字 for($i=0;$i<4;$i++){ $font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); $authnum=rand(1,9); $vcodes.=$authnum; imagestring($im, 5, 2+$i*10, 1, $authnum, $font); } //加入干扰象素 for($i=0;$i<100;$i++){ $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); } ImagePNG($im); ImageDestroy($im); // 将四位的验证码保存在 SESSION 里,登录时调用对比 $_SESSION["VCODE"]=$vcodes; ?>
このファイルでは $_SESSION["VCODE"] を取得しないでください。そうしないと、1 ステップ後に取得され、前の確認コードは更新後にのみ表示されます。loginCheck.php で確認してください。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <title>管理后台| 请登录</title> <link rel="stylesheet" type="text/css" href="\css\a.css"> <style type="text/css"> <!-- #main{ font-family:宋体; font-size:10pt; text-align:center; margin-top:510px; } body{ background-attachment:fixed; background-position:center; background-image:url(./images/w2.jpg); background-repeat: no-repeat; } #authCode{background-Color:#F8F9FF;} table{text-align:center;} //--> </style> <script type="text/javascript" src="./js/trim.js"></script> <script type="text/javascript"> <!-- function clearX(){ document.getElementById('authCode').value=""; } // 点击图片重新获得新的验证码: function getVCode() { var vcode=document.getElementById('vcode'); vcode.src ='yz.php?nocache='+new Date().getTime(); } //定义XMLHttpRequest对象 var xmlHttp; // 创建 XMLHttpRequest: function createXmlHttpRequest(){ var xmlHttp=null; try{ // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); }catch(e){ // Internet Explorer try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } // AJAX 检查登录: 有密码,要用POST 提交 function login(){ var authCode=trim(document.getElementById('authCode').value); var username=trim(document.getElementById('username').value); var password=trim(document.getElementById('password').value); if(username=="" || password=="" || authCode==""){ alert("请输入用户名和密码和验证码!"); return false; }else{ if(!xmlHttp) xmlHttp=createXmlHttpRequest(); var send_string="username="+username+"&password="+password+"&authCode="+authCode+"&fresh="+Math.random(); xmlHttp.open("POST","loginCheck.php",true); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlHttp.send(send_string); xmlHttp.onreadystatechange=function(){ if(xmlHttp.readystate==4 && xmlHttp.status==200){ var answer=xmlHttp.responseText; if(answer=="ok") //跳转到管理中心页面 window.location.href="adminCenter.php"; else{ alert("用户名密码或验证码不正确! 请重新输入!"); document.getElementById('username').focus(); } } } } } //--> </script> </head> <body onload="document.getElementById('username').focus();"> <p id="main"> <table> <tr> <td>用户名:<input type="text" id="username" /></td> <td>密 码:<input type="password" id="password" /></td> <td>验证码:<input type="text" id="authCode" size="6" maxlength="4" value="验证码" onfocus="clearX()"/></td> <td><img id="vcode" src="yz.php" alt="看不清?点击换一张" onclick="getVCode()" /></td> <td><input id="loginButton" type="submit" value="登 录" onclick="login()"/></td> </tr> </table> </p> </body> </html>
loginCheck.php
ユーザーログインを検証するファイル 概要: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。 関連する推奨事項: PHP オブジェクト指向プログラミング クラスの定義と使用法の詳細な説明 以上がPHP+Ajax はユーザーのログインを検証するための検証コードを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。<?php
session_start();
include("../conn/connDB.php");
// 取得POST过来的参数:
$username=$_POST["username"];
$password=md5($_POST["password"]);
$authCode=$_POST["authCode"];
$feedback="no";
//对比是否==SESSION中的验证码,不能放在客户端做,否则取不正确的值
if($authCode==$_SESSION["VCODE"]){
$SQL="select * from users where username='$username' and password='$password'";
$result=mysql_query($SQL);
$rows=mysql_num_rows($result);
if($rows==1) // 验证成功
$feedback="ok";
$_SESSION["admin"]=true; //为了后台安全,存入SESSION,表明 ADMIN 已登录,供后面调用
}
echo $feedback;
?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
