ホームページ > バックエンド開発 > PHPチュートリアル > PHP+AJAXで非更新登録を実現(ユーザー名をリアルタイム検出)_PHPチュートリアル

PHP+AJAXで非更新登録を実現(ユーザー名をリアルタイム検出)_PHPチュートリアル

WBOY
リリース: 2016-07-21 16:00:04
オリジナル
941 人が閲覧しました

多くの場合、私たちはページを送信した後、登録が成功したかどうかを通知するためにページが更新されるのを待たなければなりません。ネットワークが悪い場合、多数の情報を登録した後、ページが更新されるまで長い間待ちました。最後に、「あなたのユーザー名は使用されています」または「XXXXXXX は不正です」というメッセージが表示されました。今日は、AJAX ページを更新しない簡単な登録手順を紹介します。リアルタイムでユーザー情報を検出しますので、お役に立てれば幸いです。それでは、まず登録インターフェイスのコードを見てみましょう:






<テーブル幅= 100%" height="256" border="0" align="center" cellpadding="1" cellpacing="1">
· ユーザー名: text" class="inputtext " id="ユーザー名"

>
" bgcolor="#FFFFFF" id="check"> 4 ~ 16 文字、英語の小文字、漢字、数字、できればすべての数字ではないこと。 &lt;/td&gt; 6 ~ 16 桁 (6 と 16 を含む)、英語と数字に限定されます。 &lt;/td&gt; this.alt='ここをクリックして新しいウィンドウを開きますnCTRL+マウスホイールで拡大/縮小します';}" onclick="if(!this.resize) {戻るtrue;} else {ウィンドウ .open('http://leehui1983.bokee.com/photo/view.fcgi?mode=3&id=4108996');}" alt="" src="http://leehui1983.bokee .com/photo/view .fcgi?mode=3&id=4108996" onload="if(this.width>screen.width*0.7) {this.width=screen.width*0.7; ='ここをクリックして新しいウィンドウを開きますnCTRL+マウスホイールで拡大/縮小';}" border=0>


赤い部分は後で呼び出されるjs関数です。選択すると呼び出され始めます。テキスト ボックスが表示されます。上記のページに含まれる ajaxreg.js ファイルのコードには、ajax フレームワークといくつかの判定関数が含まれています。Tvar http_request = false;
Function send_request (url) {// 初期化、処理関数、リクエストを送信する関数を指定 http_request = false; {// Mozilla 参照コンテナ
http_request=new XMLHttpRequest();
}
else if(window.ActiveXObject){///IE ブラウザ
try {
http_request = new activexobject ("msxml2.xmlhttp");
} catch (e) {}
}
}
using using ‐ through using using ' s ' through ' s using ' s through through through through 's ‐ through out through ‐‐‐‐‐‐ if(!http_request){// statechange=processrequest;
// リクエストメソッド、URL の送信を確認、次のコードを同期的に実行するかどうか
http_request.open("GET",url,true);
http_request.send(null);
}
//返された情報を処理する関数
function processrequest(){
if (http_request.readyState==4){//オブジェクトのステータスを確認します
if(http_request.status==200){//情報が正常に返されたので、情報の処理を開始します
document.getElementById(reobj).innerHTML=http_request .responseText; S}
ELSE {// ページが異常です
アラート (「要求したページは異常です! " ); ).innerHTML=" ユーザー名を空にすることはできません。 & lt;/font & gt;
f.username.focus ();
else {
document.gelementByid (obj) .innerhtml = "データを読み取っています..."; Checkuserreg .php?username='+username);
reobj=obj;
}
}
function pwdcheck(obj){
var f=document.reg;
var pwd=f.userpwd.value;
if(pwd= = ""){
document.getElementById(obj).innerHTML=" ユーザー パスワードを空にすることはできません。 "; nerHTML=" < font color=red>パスワードの長さは 6 文字未満にすることはできません。
"; リクエスト!
";
}
}
function pwdrecheck(obj){
var f=document.reg;
var repwd=f.reuserpwd.value;
if (repwd==""){
Document.getElementById (obj).innerHTML=" パスワードをもう一度入力してください。&lt;/font&gt; ";
(obj).innerhtml ="&lt; font color = red&gt; 2回入力されたパスワードは一貫していません!
"; 入力は正しいです。 & lt;/font & gt; ";";
}}

データが Checkuserreg.php に非同期で送信されることを確認することは難しくありません。興味のある友人は機能を拡張できます。checkuserreg.php の動作を見てみましょう:
header('Content-Type:text/html;charset=GB2312');//文字化け出力を回避します
include('inc/config.inc . php');//基本的なデータベース構成情報が含まれます
include('inc/dbclass.php');//データベース操作クラスが含まれます
$username=trim($_GET['username']);//登録名を取得します
//----------------------------------------------- --- -----------------------------------
$db=new db;//から生成データベース操作クラスの例
$db->mysql($dbhost,$dbuser,$dbpassword,$dbname);//接続パラメータ関数を呼び出す
$db->createcon();//接続作成関数を呼び出す
//--- ------------------------------------------- ----- ----------------------------------
$querysql="cr_userinfo からユーザー名を選択します。ここでユーザー名は='$username'";// メンバー名をクエリ
$result=$db->query($querysql);
$rows=$db->loop_query($result);
// メンバー名が登録されました
//------ -------------------------------------- ----------- ------------------------
if($rows){
echo" このメンバー名はすでに登録されています。メンバー名を変更してください! ";
}
//メンバー名が登録されていない場合は表示されます
//----- ----------------- --------------------------------- --------------------------------------
else{
echo" このメンバー名は登録可能です! ";
}
if($action==reg){
$addsql="cr_userinfo に挿入
values(0,'$username','$userpwd','$time',50,1 ,'$userquestion','$useranswer')";

$db->query($addsql);
echo"登録おめでとうございます成功! ここをクリックしてログインしてください。
";
}
$db->close();//データベース接続を閉じます
?>

コメントは非常に詳細であり、誰でも理解できるはずです。情報を確認した後、は合法です。更新しない登録を実現するために登録情報を送信します。PHP コード、senduserinfo.php:
header('Content-Type: text/html;charset=GB2312');//文字化けした出力を回避します
include('inc/config.inc.php');//基本的なデータベース構成情報が含まれます
include('inc/dbclass.php');//データベース操作クラスが含まれます
$username=trim($_GET['username' ]);// 登録名を取得します
$userpwd=md5(trim($_GET['userpwd']));// 登録パスワードを取得します
$time=date("Y-m-d");

//-- ---------------------------------------------------- ------- ------------------------
$db=new db;//データベース操作クラスからインスタンスを生成
$ db->mysql($dbhost, $dbuser,$dbpassword,$dbname);//接続パラメータ関数を呼び出します
$db->createcon();//接続作成関数を呼び出します
//---- ---------------------------------------------------- --------- ------------------
//データの挿入を開始します
//-------------- ---------------------------------------------------- --------- ----------
$addsql="cr_userinfo 値に挿入(0,'$username','$userpwd','$time',50,1, '$userquestion','$useranswer' )";
$db->query($addsql);
echo" おめでとうございます。登録されました。成功! ここをクリックしてログインしてください。 ";

$db->close();//データベース接続を閉じます
?>

OK!!大功告成,来看看效果图:
1.


2.


3.


4.


5.


怎么样?还不错吧,贴了这么多蓄積死了,希望大家喜欢~~~ ~

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/317173.html技術記事很多時候,我们在网上注册个人信息,在提交完页面後,总得等待页面刷新来告诉我们注册是否成功,遇到网络差的時,候如果注册了一大...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート