When we register on the website, when entering the user name, we must first perform non-refresh verification. This article mainly introduces the php+ajax registration real-time verification function in detail. Interested friends can refer to it
The real-time verification technology of ajax is very mature. On some standardized websites, if there is a template for registration verification, it will definitely involve the non-refresh verification of ajax, which is great in the user registration experience. , compared with a verification mode that cannot be connected to the background without refreshing in time, and has to go back to refresh, which is very unfriendly to the user experience.
The ajax mode is a requirement for almost all site applications. As a front-end non-refresh verification, ajax can be used in combination with all back-end languages, such as asp+ajax,php+ajax,.net+ajaxAnd other combinations, the main explanation here is the registration verification of php+ajax.
The following verification is a complete example. When we register on the website and enter the user name, we must first perform a non-refresh verification and verify whether there is data with the same name in the background database. If it exists, There will be no refresh prompt indicating that the username has been occupied. There are a total of four files involved here.
ajax.js:This is the core file of ajax technology. It mainly displays verification prompts from time to time. This file usually does not need to be modified, and only requires front-end calls.
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:This is the configuration file of the website. To configure your local mysql username and password, you need to configure the connection between PHP and the database. You can Refer to the article on PHP+MYSQL Database connection. In addition, the received data must be processed for real-time display. If there are multiple files to be verified, multiple acceptance and verification can be performed here.
<?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:This is the front-end file. This file is relatively simpler. It calls the ajax.js processing file and submits the file without refresh verification. Go to conn.php and connect to the background.
<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:This is the SQL database file. Just import this file into the mysql database.
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;
Save these files in the root directory where PHP files can be run. The test URL is localhost/index.html. The following is the complete set of files packaged and downloaded. Try to modify it to the registration module you need. , such as adding password, name, etc.
The above is the detailed content of PHP+ajax registration real-time verification function example code. For more information, please follow other related articles on the PHP Chinese website!