Heim >php教程 >PHP开发 >PHP+Ajax-Registrierung, Echtzeit-Überprüfungsfunktion

PHP+Ajax-Registrierung, Echtzeit-Überprüfungsfunktion

高洛峰
高洛峰Original
2016-12-23 17:35:561347Durchsuche

Die Echtzeit-Verifizierungstechnologie von Ajax ist bereits sehr ausgereift. Wenn es auf einigen standardisierten Websites eine Vorlage für die Registrierungsüberprüfung gibt, ist die Ajax-Verifizierung ohne Aktualisierung erforderlich . Vergleichen Sie einen Überprüfungsmodus, der ohne rechtzeitige Aktualisierung nicht mit dem Hintergrund verbunden werden kann, und muss zur Aktualisierung zurückkehren, was für die Benutzererfahrung sehr unfreundlich ist.

Der Ajax-Modus ist eine Voraussetzung für fast alle Site-Anwendungen. Als Front-End-Verifizierung ohne Aktualisierung kann Ajax in Kombination mit allen Back-End-Sprachen wie asp+ajax, php+ajax verwendet werden , .net+ajax und andere Kombinationen sind hier die Registrierungsüberprüfung von php+ajax.

Die folgende Überprüfung ist ein vollständiges Beispiel. Wenn wir uns auf der Website registrieren und den Benutzernamen eingeben, müssen wir zunächst eine Überprüfung ohne Aktualisierung durchführen und überprüfen, ob Daten mit demselben Namen in der Hintergrunddatenbank vorhanden sind. Wenn es vorhanden ist, wird keine Aktualisierungsaufforderung angezeigt, die darauf hinweist, dass der Benutzername belegt ist. Hier handelt es sich um insgesamt vier Dateien.

ajax.js: Die Kerndatei der Ajax-Technologie. Sie zeigt hauptsächlich von Zeit zu Zeit Überprüfungsaufforderungen an. Diese Datei muss normalerweise nicht geändert werden und muss nur vom Frontend aufgerufen werden.

var xmlHttp
function showHint(str)
{
if (str.length==0)
 { 
 document.getElementById("txtHint").innerHTML=""
 return
 }
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 } 
xmlHttp.onreadystatechange=stateChanged 
 
var geturl="conn.php?q="+str
//sid是增加一个随机数 防止页面启用缓存技术·
geturl=geturl+"&sid="+Math.random()
geturl=encodeURI(geturl);
geturl=encodeURI(geturl); 
xmlHttp.open("GET",geturl,true)
xmlHttp.send(null)
} 
function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById("txtHint").innerHTML=xmlHttp.responseText 
 } 
}
function GetXmlHttpObject()
{
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;
}

conn.php: Dies ist die Konfigurationsdatei der Website. Um Ihren lokalen MySQL-Benutzernamen und Ihr Passwort zu konfigurieren, müssen Sie die Verbindung zwischen PHP und der Datenbank konfigurieren PHP+MYSQL-Datenbankverbindung Um die empfangenen Daten für die Echtzeitanzeige zu verarbeiten, führen Sie hier einfach eine mehrfache Annahme und Überprüfung durch, wenn mehrere Dokumente überprüft werden müssen.

<?php
$q=$_GET["q"];
$q = urldecode($q);
 
if (strlen($q) > 0)
{
 $conn = @mysql_connect("localhost","root","1010") or die ("MySql连接错误");
 mysql_select_db("xin",$conn);
 mysql_query("set names &#39;utf8&#39;");
  
 $sql = "SELECT username FROM message WHERE username = &#39;$q&#39;";
 $query = mysql_query($sql);
 @$row = mysql_fetch_array($query);
  
 if(!empty($row[&#39;username&#39;]))
 {
 $response = "<font color=red>已经被注册!</font>";
 }else
 {
 $response = "<font color=blue>恭喜!可以注册!</font>";
 }
  
 echo $response;
}
 
?>

index.html: Dies ist die Front-End-Datei. Sie ruft die Verarbeitungsdatei ajax.js auf und sendet die Datei zur Nichtaktualisierungsüberprüfung in den Hintergrund.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="ajax.js"></script> 
</head>
<body bgcolor="#999999">
<center>
<form> 
<table>
 <tr>
 <td>用户名:</td>
 <td><input type="text" id="txt1" onKeyUp="showHint(this.value)"></td>
 </tr>
 <tr align="center">
 <td colspan="2"><span id="txtHint"></span></td>
 </tr>
</table>
</form>
</center>
</body>
</html>

Library.txt: Dies ist die SQL-Datenbankdatei. Importieren Sie diese Datei einfach in die MySQL-Datenbank.

DROP DATABASE IF EXISTS `xin`;
CREATE DATABASE `xin` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `xin`;
 
 
CREATE TABLE `message` (
 `id` int(11) NOT NULL auto_increment,
 `username` varchar(20) default NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

Speichern Sie diese Dateien im Stammverzeichnis, in dem PHP-Dateien ausgeführt werden können. Im Folgenden finden Sie den vollständigen Satz gepackter und heruntergeladener Dateien Ihre Bedürfnisse, z. B. das Hinzufügen von Passwort, Namen usw.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Ich hoffe auch, dass jeder die PHP-Chinesisch-Website unterstützt.

Weitere Artikel zur Echtzeit-Überprüfungsfunktion für die PHP+Ajax-Registrierung finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
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