All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
asp.net2.0网站基础之编写代码
C#如何把html中的相对路径变成绝对路径_[Asp.Net教程]
SQL2000无法安装的解决办法_[SQL,Server教程]
动态网页技术PHP语法学习笔记_php资料_编程技术
使用C#来开发.NET,CF,蓝牙通信模块_.net资料_编程技术
关于线程的参数、“返回值”、及线程的中止_.net资料_编程技术
PHP入门:在PHP关于变量的使用介绍_[PHP教程]
C#中MaskedTextBox控件的用法以及实例
把WebForm数据导出到Excel中_[Asp.Net教程]
SQL Server安全之加密术和SQL注入攻击_[SQL Server教程]
Reading number is top 10 pictures
青春清纯美女大集合4
胸部遭到偷窥的女人们
The terra-cotta warriors3
全身蕾丝丝质美臀
Players in the eyes of a perfect love2
China telecom 114 spokesman MeiYanXu1
西游日记1
30 beautiful school beauty5
The money of more than 100 countries and regions6
9.3阅兵全景图7-指挥系统和后勤保障系统梯队
Download software ranking
仙剑奇侠传98硬盘WINXP版
VC++6.0培训教程
linux高级编程
尖东毒玫瑰A
SQL2000 For 4IN1
Tram sex maniac 2 (H) rar bag1
Boxer's Top ten classic battle5
Eclipse 4.2.2 For Win32
VC++6.0简体中文版
卡丁车单机版
归海一刀 published in(发表于) 2014/2/10 6:50:41 Edit(编辑)
PHP+AJAX实现无刷新注册(带用户名实时检测)_[PHP教程]

PHP+AJAX实现无刷新注册(带用户名实时检测)_[PHP教程]

PHP+AJAX实现无刷新注册(带用户名实时检测)_[PHP教程]

很多时候,我们在网上注册个人信息,在提交完页面后,总得等待页面刷新来告诉我们注册是否成功,遇到网络差的时候,如果注册了一大串的东西,在经过漫长的等待页面刷新后,得到的确是“您的用户名已被使用”或XXXXXXX不合法,我想大家的心情一定特别不爽,今天就介绍个AJAX实现页面不刷新注册+实时检测用户信息的简单注册程序,希望对大家有所帮助。好的,先看注册界面代码:






 










  · 用户名称:


 
onChange="usercheck('check')" onBlur="usercheck('check')"
>
*


 4-16个字符,英文小写、汉字、数字、最好不要全部是数字。






  · 用户密码:


 
onChange="pwdcheck('pwd')" onBlur="pwdcheck('pwd')">
*


 密码字母有大小写之分。6-16位(包括6、16),限用英文、数字。






  · 重复密码:


 
onChange="pwdrecheck('repwd')" onBlur="pwdrecheck('repwd')">
*


 请再次输入登录密码。





如图:



红色部分就是一会要调用的js函数了,当我们选定一个文本框后就会开始调用,现在我们看上面那个页面包含的ajaxreg.js文件的代码,里面就是包含了ajax框架和一些判断函数。


var http_request=false;
function send_request(url){//初始化,指定处理函数,发送请求的函数
http_request=false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest){//Mozilla浏览器
http_request=new XMLHttpRequest();
if(http_request.overrideMimeType){//设置MIME类别
http_request.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject){//IE浏览器
try{
http_request=new ActiveXObject("Msxml2.XMLHttp");
}catch(e){
try{
http_request=new ActiveXobject("Microsoft.XMLHttp");
}catch(e){}
}
}
if(!http_request){//异常,创建对象实例失败
window.alert("创建XMLHttp对象失败!");
return false;
}
http_request.onreadystatechange=processrequest;
//确定发送请求方式,URL,及是否同步执行下段代码
http_request.open("GET",url,true);
http_request.send(null);
}
//处理返回信息的函数
function processrequest(){
if(http_request.readyState==4){//判断对象状态
if(http_request.status==200){//信息已成功返回,开始处理信息
document.getElementById(reobj).innerHTML=http_request.responseText;
}
else{//页面不正常
alert("您所请求的页面不正常!");
}
}
}
function usercheck(obj){
var f=document.reg;
var username=f.username.value;
if(username==""){
document.getElementById(obj).innerHTML=" 用户名不能为空!";
f.username.focus();
return false;
}
else{
document.getElementById(obj).innerHTML="正在读取数据...";
send_request('checkuserreg.php?username='+username);
reobj=obj;
}
}
function pwdcheck(obj){
var f=document.reg;
var pwd=f.userpwd.value;
if(pwd==""){
document.getElementById(obj).innerHTML=" 用户密码不能为空!";
f.userpwd.focus();
return false;
}
else if(f.userpwd.value.length<6){
document.getElementById(obj).innerHTML="&nbsp;密码长度不能小于6位!";
f.userpwd.focus();
return false;
}
else{
document.getElementById(obj).innerHTML="&nbsp;密码符合要求!";
}
}
function pwdrecheck(obj){
var f=document.reg;
var repwd=f.reuserpwd.value;
if (repwd==""){
document.getElementById(obj).innerHTML="&nbsp;请再输入一次密码!";
f.reuserpwd.focus();
return false;
}
else if(f.userpwd.value!=f.reuserpwd.value){
document.getElementById(obj).innerHTML="&nbsp;两次输入的密码不一致!";
f.reuserpwd.focus();
return false;
}
else{
document.getElementById(obj).innerHTML="&nbsp;密码输入正确!";
}
}


不难看出,数据是通过异步传输到checkuserreg.php接着回送回信息显示出来来达到实时检测用户名的目的,至于密码,只作了长度的实时判断,有兴趣的朋友可以扩充功能。来看下checkuserreg.php到底都做了什么:


header('Content-Type:text/html;charset=GB2312');//避免输出乱码
include('inc/config.inc.php');//包含数据库基本配置信息
include('inc/dbclass.php');//包含数据库操作类
username=trim(_GET['username']);//获取注册名
//-----------------------------------------------------------------------------------
db=new db;//从数据库操作类生成实例
db->mysql(dbhost,dbuser,dbpassword,dbname);//调用连接参数函数
db->createcon();//调用创建连接函数
//-----------------------------------------------------------------------------------
querysql="select username from cr_userinfo where username='username'";//查询会员名
result=db->query(querysql);
rows=db->loop_query(result);
//若会员名已注册
//-----------------------------------------------------------------------------------
if(rows){
echo"&nbsp;此会员名已被注册,请更换会员名!";
}
//会员名未注册则显示


//----------------------------------------------------------------------------
else{
echo"&nbsp;此会员名可以注册!";
}
if(action==reg){
addsql="insert into cr_userinfo
values(0,'username','userpwd','time',50,1,'userquestion','useranswer')";

db->query(addsql);
echo"&nbsp;恭喜您,注册成功!请点击这里登陆!";
}
db->close();//关闭数据库连接
?>


注释写的还算详细,大家应该都能看懂,再看信息合法后我们提交注册信息实现无刷新注册的PHP代码,senduserinfo.php:


header('Content-Type:text/html;charset=GB2312');//避免输出乱码
include('inc/config.inc.php');//包含数据库基本配置信息
include('inc/dbclass.php');//包含数据库操作类
username=trim(_GET['username']);//获取注册名
userpwd=md5(trim(_GET['userpwd']));//获取注册密码
time=date("Y-m-d");

//-----------------------------------------------------------------------------------
db=new db;//从数据库操作类生成实例
db->mysql(dbhost,dbuser,dbpassword,dbname);//调用连接参数函数
db->createcon();//调用创建连接函数
//-----------------------------------------------------------------------------------
//开始插入数据
//-----------------------------------------------------------------------------------
addsql="insert into cr_userinfo values(0,'username','userpwd','time',50,1,'userquestion','useranswer')";
db->query(addsql);
echo"&nbsp;恭喜您,注册成功!请点击这里登录!";

db->close();//关闭数据库连接
?>


OK!!大功告成,来看看效果图:


1.



2.




3.




4.




5.




怎么样?还不错吧,贴了这么多累死了,希望大家喜欢~~~~


来源:辉老大的技术博客







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.