非常实用的ajax用户注册模块
这篇文章主要为大家详细介绍了非常实用的ajax用户注册模块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在网站设计中,ajax技术的使用已经很普遍了,尤其在交互式的网站中,ajax技术更不可缺少了,几乎在所有的交互式网站应用中,都会看到ajax的技术,大型网站诸如会员的注册,小型网站诸如无刷新的分页技术,给网站浏览者更好的用户体验,在局部网站设计中,如果浏览某一部分出错,而不用去重新刷新整个网页,应用最广的部分则是会员注册的无刷新验证等,无刷新的分页,无刷新的查看更多,无刷新的查询数据库中内容是否存在等等。
下面是ajax的用户注册模块,这个ajax注册模块很实用,大家只要根据自己的需要在扩展下就可以了,check.php这个文件是查询的数据的文件,把里面查询的内容改成自己的就可以了,应该很容易懂的,有需要的可以进行下载验证。
check.php
<?php header("Content-Type:text/html;charset=gb2312"); @mysql_connect('localhost','root','ebaeba') or die("数据库服务器连接失败"); @mysql_select_db("test") or die("数据库不存在或不可用"); $uname = $_GET['userName']; //下面进行数据库查询 查找是不是有这一个用户 //如果没有查找到这个用户名 $sql="select * from t1 where name='".$uname."'"; $query=mysql_query($sql); $row=mysql_fetch_object($query); if(strlen($uname)<6||strlen($uname)>20) { $msg="用户名必须是6至20个字符."; } else { if($row==false) { $msg="该用户名有效,可以使用!"; } else { $msg="对不起,此用户名已经存在,请更换用户名注册!"; } } echo $msg ; ?>
reg.php
<%@page language="java" contentType="text/html;charset=gb2312"%> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>AJAX用户注册演示程序</title> <script language="javascript" type="text/javascript"> <!-- //创建函数 function createXMLHTTP() { var request; var browser = navigator.appName; //使用IE,则使用XMLHttp对象 if(browser == "Microsoft Internet Explorer") { var arrVersions = ["Microsoft.XMLHttp", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp","MSXML2.XMLHttp.5.0"]; for (var i=0; i < arrVersions.length; i++) { try { //从中找到一个支持的版本并建立XMLHttp对象 request = new ActiveXObject(arrVersions[i]); return request; } catch (exception) { //忽略,继续 } } } else { //否则返回一个XMLHttpRequest对象 request = new XMLHttpRequest(); if(request.overrideMimeType) { request.overrideMimeType('text/xml'); } return request; } } //全局XMLHTTP对象实例变量 var http = createXMLHTTP(); //发送请求 function chkUser() { var url = "check.php"; //请求"CheckUserName" ServLet var name = document.getElementById("userName").value; url += ("?userName="+escape(name)+"&oprate=chkUser"); http.open("GET",url,true); http.onreadystatechange = ProcessHttpResponse; http.send(null); return ; } //处理响应 function ProcessHttpResponse() { if(http.readyState == 4) { if(http.status == 200) { var xmlDocument = http.responseXML; if(http.responseText!="该用户名有效,可以使用!") { //返回的信息动态显示 document.getElementById("showStr").style.display = ""; document.getElementById("userName").style.background= "#FF0000"; document.getElementById("showStr").innerText = http.responseText; } else { document.getElementById("userName").style.background= "#FFFFFF"; document.getElementById("showStr").style.display = ""; document.getElementById("showStr").innerText = http.responseText; } } else { alert("你所请求的页面发生异常,可能会影响你浏览该页的信息!"); alert(http.status); } } } //检验输入密码 function chkpassword() { var m=document.form1; if(m.password.value.length>20 || m.password.value.length<6 ) { document.getElementById("passwordStr").style.display = ""; document.getElementById("password").style.background= "#FF0000"; document.getElementById("passwordStr").innerText = "对不起,密码必须为英文字母、数字或下划线,长度为6~20!"; } else { document.getElementById("password").style.background= "#FFFFFF"; document.getElementById("passwordStr").style.display = "none"; } } //验证两次密码是否一致 function chkconfirmPassword() { var m=document.form1; if (m.password.value != m.confirmPassword.value) { document.getElementById("confirmPasswordStr").style.display = ""; document.getElementById("confirmPassword").style.background= "#FF0000"; document.getElementById("confirmPasswordStr").innerText = "对不起,密码与重复密码不一致!"; } else { document.getElementById("confirmPassword").style.background= "#FFFFFF"; document.getElementById("confirmPasswordStr").style.display = "none"; } } //验证Email是否有效 function chkEmail() { var m=document.form1; var email = m.email.value; //正则表达式 var regex = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; var flag = regex.test(email); if(!flag) { document.getElementById("emailStr").style.display = ""; document.getElementById("email").style.background= "#FF0000"; document.getElementById("emailStr").innerText = "对不起,邮箱地址无效!"; } else { document.getElementById("email").style.background= "#FFFFFF"; document.getElementById("emailStr").style.display = "none"; } } //提交检查函数 function SubmitCheck() { var m=document.form1; if(m.userName.value.length==0) { alert("对不起,用户名必须为英文字母、数字或下划线,长度为5~20。"); m.userName.focus(); return false; } if(m.password.value.length==0) { alert("对不起,密码必须为英文字母、数字或下划线,长度为5~20。"); m.password.focus(); return false; } if (m.password.value != m.confirmPassword.value) { alert("对不起,密码与重复密码不一致!"); m.confirmPassword.focus(); return false; } if(m.email.value.length==0) { alert("对不起,邮箱地址不能为空!!"); m.email.focus(); return false; } m.submit(); } //--> </script> <body > <form name="form1" method="post" action="register.php"> <h3 align="center">Ajax用户注册程序</h3> <table align="center" width="500" border="1" > <tr> <td><font color="red">*</font></td> <td width="100">用户帐号:</td> <td><input type="text" name="userName" maxlength="20" style="background=#FFFFFF" onBlur="chkUser()"></td> <td><p id="showStr" style="background-color:#FF9900;display:none"></p></td> </tr> <tr> <td><font color="red">*</font></td> <td>用户密码:</td> <td align="left"><input type="password" name="password" maxlength="22" style="background=#FFFFFF" onBlur="chkpassword()"/> </td> <td><p id="passwordStr" style="background-color:#FF9900;display:none"></p></td> </tr> <tr> <td><font color="red">*</font></td> <td>确认密码:</td> <td><input type="password" name="confirmPassword" maxlength="20" style="background=#FFFFFF" onBlur="chkconfirmPassword()"/></td> <td><p id="confirmPasswordStr" style="background-color:#FF9900;display:none"></p></td> </tr> <tr> <td><font color="red">*</font></td> <td>Email:</td> <td><input type="text" name="email" maxlength="100" style="background=#FFFFFF" onBlur="chkEmail()"></td> <td><p id="emailStr" style="background-color:#FF9900;display:none"></p></td> </tr> </table> <p align="center"> <input type="button" name="ok" value=" 确定 " onClick="SubmitCheck()"> <input type="reset" name="reset" value=" 取消 "> </form> </p> </body> </html>
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
Atas ialah kandungan terperinci 非常实用的ajax用户注册模块. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Terdapat pelbagai sebab untuk tidak dapat mendaftar untuk pertukaran BitgetWallet, termasuk sekatan akaun, wilayah tidak disokong, isu rangkaian, penyelenggaraan sistem dan kegagalan teknikal. Untuk mendaftar untuk pertukaran BitgetWallet, sila lawati laman web rasmi, isi maklumat, bersetuju dengan syarat, lengkapkan pendaftaran dan sahkan identiti anda.

Bina enjin cadangan autolengkap menggunakan PHP dan Ajax: Skrip sisi pelayan: mengendalikan permintaan Ajax dan mengembalikan cadangan (autocomplete.php). Skrip pelanggan: Hantar permintaan Ajax dan cadangan paparan (autocomplete.js). Kes praktikal: Sertakan skrip dalam halaman HTML dan nyatakan pengecam elemen input carian.

Dalam era digital, media sosial telah menjadi sebahagian daripada kehidupan orang ramai. Douyin, sebagai salah satu platform video pendek paling popular di China, telah menarik sejumlah besar pengguna. Sesetengah pengguna telah mendaftarkan dua akaun Jadi, mengapa Douyin mempunyai dua akaun? Artikel ini akan menjawab soalan ini untuk anda dan menerangkan cara memasang dua akaun Douyin pada telefon anda. 1. Mengapakah Douyin mempunyai dua akaun? Pembezaan fungsi: Sesetengah pengguna akan membezakan akaun berdasarkan jenis kandungan atau fungsi Contohnya, satu akaun digunakan untuk berkongsi kehidupan harian, dan akaun lain digunakan untuk menunjukkan kemahiran profesional. 2. Perlindungan privasi: Sesetengah pengguna berharap dapat melindungi privasi mereka melalui dua akaun, kehidupan dan kerja yang berasingan, dan mengelakkan kebocoran maklumat. 3. Keperluan interaksi: Sesetengah pengguna mungkin mendaftar dua kerana keperluan interaksi

Ajax (JavaScript Asynchronous dan XML) membenarkan menambah kandungan dinamik tanpa memuatkan semula halaman. Menggunakan PHP dan Ajax, anda boleh memuatkan senarai produk secara dinamik: HTML mencipta halaman dengan elemen kontena dan permintaan Ajax menambah data pada elemen selepas memuatkannya. JavaScript menggunakan Ajax untuk menghantar permintaan kepada pelayan melalui XMLHttpRequest untuk mendapatkan data produk dalam format JSON daripada pelayan. PHP menggunakan MySQL untuk menanyakan data produk daripada pangkalan data dan mengekodnya ke dalam format JSON. JavaScript menghuraikan data JSON dan memaparkannya dalam bekas halaman. Mengklik butang mencetuskan permintaan Ajax untuk memuatkan senarai produk.

Untuk meningkatkan keselamatan Ajax, terdapat beberapa kaedah: Perlindungan CSRF: menjana token dan menghantarnya kepada pelanggan, menambahnya ke bahagian pelayan dalam permintaan untuk pengesahan. Perlindungan XSS: Gunakan htmlspecialchars() untuk menapis input bagi mengelakkan suntikan skrip berniat jahat. Pengepala Kandungan-Keselamatan-Dasar: Hadkan pemuatan sumber berniat jahat dan nyatakan sumber dari mana skrip dan helaian gaya dibenarkan untuk dimuatkan. Sahkan input sisi pelayan: Sahkan input yang diterima daripada permintaan Ajax untuk menghalang penyerang daripada mengeksploitasi kelemahan input. Gunakan perpustakaan Ajax yang selamat: Manfaatkan modul perlindungan CSRF automatik yang disediakan oleh perpustakaan seperti jQuery.

Laman web rasmi DeepSeek kini melancarkan pelbagai aktiviti diskaun untuk menyediakan pengguna dengan pengalaman membeli -belah. Pengguna baru mendaftar untuk mendapatkan kupon $ 10, dan nikmati diskaun masa terhad 15% untuk keseluruhan penonton. Mengesyorkan rakan juga boleh mendapat ganjaran, dan anda boleh mengumpul mata untuk penebusan hadiah semasa membeli -belah. Tarikh akhir acara berbeza.

Pengguna tanah besar boleh mendaftar di bursa XT.COM melalui langkah berikut: Layari laman web rasmi XT.COM. Klik butang "Daftar" di sudut kanan atas. Pilih pilihan "Pendaftaran Mudah Alih". Masukkan nombor telefon mudah alih tanah besar anda, dapatkan dan masukkan kod pengesahan. Tetapkan kata laluan. Pengesahan lengkap. Pendaftaran selesai.

Gate.io Sesame Open adalah platform perdagangan aset digital yang terkemuka di dunia, termasuk perdagangan mata wang fiat, perdagangan mata wang, perdagangan leveraged, kontrak kekal, token ETF yang memanfaatkan, pengurusan kekayaan, penawaran awam permulaan permulaan dan bahagian lain, yang menyediakan pengguna dengan keselamatan, kestabilan, keterbukaan dan ketelusan.
