So implementieren Sie eine Echtzeit-Registrierungsüberprüfungsfunktion mit PHP+Ajax

墨辰丷
Freigeben: 2023-03-29 10:04:02
Original
1800 Leute haben es durchsucht

Wenn wir uns auf der Website registrieren, müssen wir zunächst eine Nicht-Aktualisierungsüberprüfung 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, muss Ajax auf jeden Fall überprüft werden, was sich positiv auf die Benutzerregistrierungserfahrung auswirkt . Im Vergleich zu 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;
}
Nach dem Login kopieren

conn.php:Dies ist die Konfigurationsdatei der Website. Sie müssen Ihren lokalen MySQL-Benutzernamen konfigurieren Sie müssen die Verbindung zwischen PHP und der Datenbank konfigurieren. Darüber hinaus müssen die empfangenen Daten für die Echtzeitanzeige verarbeitet werden verifiziert, führen Sie hier einfach eine Mehrfachabnahme und Verifizierung durch.

<?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;
}

?>
Nach dem Login kopieren

index.html:Diese Datei ist relativ einfacher. Sie heißt The Die Verarbeitung der Datei von ajax.js sendet die Datei, die zur Überprüfung ohne Aktualisierung an conn.php übermittelt werden soll, und den Hintergrund für die Verbindung.

<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>
Nach dem Login kopieren

Library.txt:Dies ist die SQL-Datenbankdatei.

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;
Nach dem Login kopieren

Speichern Sie diese Dateien im Stammverzeichnis, in dem Sie PHP-Dateien ausführen können. Das Folgende ist Paket Sehen Sie sich den gesamten Satz heruntergeladener Dateien an und versuchen Sie, ihn an das gewünschte Registrierungsmodul anzupassen, z. B. durch Hinzufügen eines Passworts, eines Namens usw.

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

phpDetaillierte Erläuterung der Verwendung regulärer Ausdrücke zum Abrufen der URL in einer Zeichenfolge

phpDetaillierte Erläuterung von Beispielen für preg_match-Matching-Sprachen in verschiedenen Ländern

Detaillierte Erläuterung von Beispielen für die PHP+Ajax-Implementierung der Anmeldehintergrundüberprüfung

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine Echtzeit-Registrierungsüberprüfungsfunktion mit PHP+Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage