Heim >Backend-Entwicklung >PHP-Tutorial >Mithilfe von AJAX wird ermittelt, ob sich der Benutzer für das Tutorial registriert hat
Dieser Artikel stellt hauptsächlich vor, wie AJAX verwendet wird, um festzustellen, ob ein Benutzer registriert ist. Ich hoffe, dass es jedem helfen kann.
Auf vielen Registrierungsseiten kann es zu der folgenden Situation kommen: Wenn wir einen Benutzernamen registrieren, werden wir möglicherweise aufgefordert, den Benutzernamen zu registrieren. Die Implementierung besteht darin, die AJAX-Technologie anzuwenden.
Schreiben Sie zuerst eine Anmeldeseite
<html> <head> <title></title> <script type="text/javascript"> var xmlHttp; var flag; function createXMLHttp(){ if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }else{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } function checkUserid(userid){ createXMLHttp(); xmlHttp.open("POST","CheckServlet?userid="+userid); xmlHttp.onreadystatechange=checkUseridCallback; xmlHttp.send(); document.getElementById("msg").innerHTML="正在验证。。。"; } function checkUseridCallback(){ if(xmlHttp.readyState==400){ if(xmlHttp.status==200){ var text=xmlHttp.responseText; if(text=="true"){ flag=false; document.getElementById("msg").innerHTML="用户ID重复,无法使用"; }else{ flag=true; document.getElementById("msg").innerHTML="此用户ID可以注册"; } } } } function checkForm(){ return flag; } </script> </head> <body> <form action="tt.jsp" method="post" onsubmit="return checkForm()"> 用户ID <input type="text" name="userid" onblur="checkUserid(this.value)"><span id="msg"></span><br> 姓名:<input type="text" name="name"><br> 密码:<input type="password" name="password"><br> <input type="button" value="注册"> <input type="reset" value="重置"> </form> </body> </html>
Dann schreiben Sie einen Servlet-Java-Code
import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CheckServlet extends HttpServlet{ public static final String DBDRIVER = "oracle.jdbc.OracleDriver"; public static final String DBURL = "jdbc:oracle:thin:@59.173.240.149:1521:heer"; public static final String DBUSER = "hnsyu_dev"; public static final String DBPASS = "hnsyuok"; public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ this.doPost(request, response); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ request.setCharacterEncoding("gbk"); response.setContentType("text/html"); Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; PrintWriter out = response.getWriter(); String userid = request.getParameter("userid"); try { Class.forName(DBDRIVER); connection = DriverManager.getConnection(DBURL, DBUSER, DBPASS); String sql = "select count(userid) from userdemo where userid=?"; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1,userid); resultSet = preparedStatement.executeQuery(); if (resultSet.next()) { if(resultSet.getInt(1)>0){ out.print("false"); System.out.println("true"); }else { out.print("false"); } } out.close(); } catch (Exception e) { e.printStackTrace(); }finally{ try { connection.close(); } catch (Exception e) { e.printStackTrace(); } } } }
Sie müssen es auch in web.xml konfigurieren
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>CheckServlet</servlet-name> <servlet-class>CheckServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CheckServlet</servlet-name> <url-pattern>/CheckServlet</url-pattern> </servlet-mapping> </web-app>
Haben Sie es gelernt? Wenn Sie denken, dass es gut ist, holen Sie es schnell ab.
Verwandte Empfehlungen:
Beispiel für die Freigabe von JS-Registrierungseingaben für die Legalitätsüberprüfungsmethode
Beispiel für Ajax-Registrierungsinformationen für die Verifizierung ohne Aktualisierung
Das obige ist der detaillierte Inhalt vonMithilfe von AJAX wird ermittelt, ob sich der Benutzer für das Tutorial registriert hat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!