Wenn wir uns auf der Website registrieren, müssen wir bei der Eingabe des Benutzernamens zunächst eine Überprüfung ohne Aktualisierung durchführen. In diesem Artikel wird hauptsächlich die Echtzeit-Überprüfungsfunktion für die PHP + Ajax-Registrierung vorgestellt
Die Echtzeit-Verifizierungstechnologie von Ajax ist sehr ausgereift. Wenn auf einigen standardisierten Websites eine Vorlage für die Registrierungsüberprüfung vorhanden ist, wird Ajax auf jeden Fall ohne Aktualisierung überprüft, was bei der Benutzerregistrierung großartig ist Erfahrung, verglichen mit einem Verifizierungsmodus, der ohne rechtzeitige Aktualisierung nicht mit dem Hintergrund verbunden werden kann und zum Aktualisieren zurückkehren muss, 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 verwendet werden. php+ajax,.net+ajax Warten Sie auf die Kombination. Die Haupterklärung hier ist 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 wird hauptsächlich verwendet, um von Zeit zu Zeit Überprüfungsaufforderungen anzuzeigen. Diese Datei muss normalerweise nicht geändert werden, sondern 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 Um Ihren lokalen MySQL-Benutzernamen und Ihr Passwort zu konfigurieren, müssen Sie die Verbindung zwischen PHP und konfigurieren Informationen zur Datenbank finden Sie im Artikel zur PHP+MYSQL-Datenbank. Darüber hinaus müssen die empfangenen Daten für die Echtzeitanzeige verarbeitet werden kann hier durchgeführt werden.
<?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 'utf8'"); $sql = "SELECT username FROM message WHERE username = '$q'"; $query = mysql_query($sql); @$row = mysql_fetch_array($query); if(!empty($row['username'])) { $response = "<font color=red>已经被注册!</font>"; }else { $response = "<font color=blue>恭喜!可以注册!</font>"; } echo $response; } ?>
index.html:Dies ist die Front-End-Datei. Diese Datei ist relativ einfacher. Sie ruft die Verarbeitungsdatei ajax.js auf und übermittelt sie zur Überprüfung ohne Aktualisierung. Die Datei wird an conn.php übermittelt und im Hintergrund verbunden.
<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 detaillierte Inhalt vonBeispielcode für die PHP+Ajax-Registrierungs-Echtzeitüberprüfungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!