用户注册页面问题 求指点啊 我写的代码吗?就是一个注册页面 一个ajax.js 一个检查用户名是否存在的ckuser.php页面 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 reg.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link href="css/css.css" rel="stylesheet" type="text/css"><title>用户注册</title></head><body><script type="text/javascript" src="js/jquery-1.9.1.min.js"></script><script type="text/javascript" src="js/ajaxlist.js"></script><script>function check(){ checkUserName_1('username','16','unamespan') }</script><table align="center"> <tr> <td width="61" height="100"> </td> </tr> <tr> <td>用户名:</td> <td width="254"><input onblur="checkUserName_1('username','16','unamespan')" onfocus="onFouces('unamespan')" name=username keytype2="uname" class="input_txt" keytype="1" style="height:22px; width:222px" /><strong><font color="#FF0000">*</font> </strong></td> <td width="426"><span class=gray id=unamespan>3-16个字符</span></td> </tr> <tr> <td>密 码:</td> <td width="254"><input onblur="checkpw_1('password','6','upw')" onfocus="onFocus('upw')" class="input_txt" type=password keytype2="pw" name=password keytype="1" style="height:22px; width:222px" /><strong><font color="#FF0000">*</font> </strong></td> <td width="426"><span class=gray id=upw>6-16个字符</span></td> </tr> <tr> <td>确认密码:</td> <td width="254"><input onblur="checkSame_1('password','passsAgain','urpw')" onfocus="onFocus('urpw')" class="input_txt" type=password keytype2="rpw" name=passAgain keytype="1" style="height:22px; width:222px" /><strong><font color="#FF0000">*</font> </strong></td> <td width="426"><span class=gray id=urpw>再次输入密码</span></td> </tr> </table></body></html> ajaxlist.jsvar username_help='3-16个字符(a-z,0-9,_)'; var username_ok='<img src=img/OK.png align=absbottom>用户名可以使用'; var username_error='<img src=img/NO.png align=absbottom> 用户名超过了16个字符!'; var username_error_1='<img src=img/NO.png align=absbottom> 您的用户名输入格式不正确!'; var username_exist='<img src=img/NO.png align=absbottom> 您填写的用户名已经存在!'; var username_null='<img src=img/NO.png align=absbottom> 用户名长度最少3位!'; function getHTTPObject(){ var xmlhttp = false; if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); if(xmlhttp.overrideMimeType){ xmlhttp.overrideMimeType('text/xml'); } }else{ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ xmlhttp = false; } } } return xmlhttp; } var http = getHTTPObject(); function getAbsLeft(e){ var l=e.offsetLeft; while(e=e.offsetParent) l += e.offsetLeft; return l; } function getAbsTop(e) { var t=e.offsetTop; while(e=e.offsetParent) t += e.offsetTop; t=t+18; return t; } //...............................................................function onFouces(str){ document.getElementById(str).className='word_help'; if(str=='unamespan'){ document.getElementById(str).innerHTML=username_help; }}function backState(str){ if(str=='uname'){ document.getElementById('username').keytype=0; document.getElementById('unamespan').className='gray'; document.getElementById('unamespan').innerHTML=username_ok; }}function checkUserName_1(obj_str,num,obj_strl){ var obj=document.getElementById(obj_str); var obj_help=document.getElementById(obj_strl); obj.keytype=0; if(obj.value.length<3){ obj.keytype=1; obj_help.innerHTML=username_null; obj_help.className=word_error; return false; } if(obj.value.length>num){ obj.keytype=1; obj_help.innerHTML=username_error; obj_help.className=word_error; return false; } //检查是否有不符合规定的字符 var name_str=obj.value; //name_str=name_str.replace(/[\u4e00-\u9fa5]/g,''); name_str=name_str.replace(/[a-zA-Z0-9_]/g,''); name_str=name_str.replace(/-/g,''); if(name_str!=''){ obj.keytype=1; obj_help.innerHTML=username_error_1; obj_help.className=word_error; return false; } //检测用户名是否存在 var username = document.getElementById('username').value; url = "checkuserreg.php?username="+username; http.open("GET",url,true); http.onreadystatechange = handleHttpResponseForUserName_1; http.send(null); if(obj.keytype==0){ backState("uname"); } }function handleHttpResponseForUserName_1(){ if(http.readyState == 4){ if (http.status == 200) { returnStr=Trim(http.responseText); if(returnStr=="1"){ var obj_1=document.getElementById("unamespan"); obj_1.innerHTML=username_exist; document.getElementById("username").keytype=1; obj_1.className=word_error; return false; } } } } function Trim(str) { return RTrim(LTrim(str)); } function LTrim(str) { return str.replace(/^[ \t\n\r]+/g, ""); } function RTrim(str) { return str.replace(/[ \t\n\r]+$/g, ""); } <?phpheader('ontent-Type:text/html;charset=GB2312');//避免输出乱码$dbhost ="localhost";$dbuser ="root";$dbpassword = "root";mysql_connect($dbhost,$dbuser,$dbpassword) or die("error!");mysql_query("set names 'gbk'");mysql_select_db('db_text');$username=trim($_GET['username']);//获取注册名$sql="select username from tb_user where username='".$username."'";//查询会员名$result=mysql_query($sql);$num=mysql_num_rows($result);$rows=mysql_fetch_array($result);if($num<>0){ echo "1";}else{ echo "0";}mysql_close();//关闭数据库连接?> 你的username input 框没有id值,能运行成功吗?if(obj.value.length<3){ obj.keytype=1; obj_help.innerHTML=username_null; obj_help.className=word_error; obj.focus(); //加上这句,下面的验证类似。 return false; } function handleHttpResponseForUserName_1(){ if(http.readyState == 4){ if (http.status == 200) { returnStr=Trim(http.responseText); if(returnStr=="1"){ var obj_1=document.getElementById("unamespan"); obj_1.innerHTML=username_exist; document.getElementById("username").keytype=1; obj_1.className=word_error; return false; } else { document.getElementById("username").focus(); // 加上这个 } } } } 噢,你是不合法(用户已存在)时返回 1function handleHttpResponseForUserName_1(){ if(http.readyState == 4){ if (http.status == 200) { returnStr=Trim(http.responseText); if(returnStr=="1"){ var obj_1=document.getElementById("unamespan"); obj_1.innerHTML=username_exist; document.getElementById("username").keytype=1; obj_1.className=word_error; document.getElementById("username").focus(); // 加上这个 return false; } } } } 在 returnStr=Trim(http.responseText); 后面加上alert(returnStr + ':' + returnStr.length);看看有什么 突然发现你有用 jquery<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>那么还要自己写那些做什么?建议你改写成直接用 jquery 的,简单的例子<script>$(function() { $('#username').blur(function() { $.post('check.php', {username:$(this).val()}, function(m) { $('#unamespan').html(m == 1 ? '不可用' : '可用'); if(m == 1) $('#username').focus(); }); });});</script>数字打头不可用,字母打头可用<br>用户名:<input name=username id=username class="input_txt"style="height:22px; width:222px" /><span class=gray id=unamespan>3-16个字符</span><br>check.php<?phpecho is_numeric($_POST['username']{0}) ? 1 : 0;是不是很简单呢? 寻找php助手 做zencart的二次开发遇到的浏览器兼容问题 fckeditor显示内容问题: PHP项目分工协作问题? 有关 MSN Messenger协议的问题 请高手解答关于dhtmlxtree的问题 phpmyfaq如何关联ldap?急 请教视频中加入互动元素这样的效果应该怎样实现? php调用python脚本的问题 php,wamp,表单post获取不到数据 php得数组使用'label'=>__('abc','xyz');类似这样的形式,是什么意思? iframe弹出页面, 所有session丢失
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="css/css.css" rel="stylesheet" type="text/css">
<title>用户注册</title>
</head><body>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/ajaxlist.js"></script><script>
function check(){
checkUserName_1('username','16','unamespan')
}
</script>
<table align="center">
<tr>
<td width="61" height="100"> </td>
</tr>
<tr>
<td>用户名:</td>
<td width="254"><input onblur="checkUserName_1('username','16','unamespan')" onfocus="onFouces('unamespan')" name=username keytype2="uname" class="input_txt" keytype="1" style="height:22px; width:222px" /><strong><font color="#FF0000">*</font> </strong></td>
<td width="426"><span class=gray id=unamespan>3-16个字符</span></td>
</tr>
<tr>
<td>密 码:</td>
<td width="254"><input onblur="checkpw_1('password','6','upw')" onfocus="onFocus('upw')" class="input_txt" type=password keytype2="pw" name=password keytype="1" style="height:22px; width:222px" /><strong><font color="#FF0000">*</font> </strong></td>
<td width="426"><span class=gray id=upw>6-16个字符</span></td>
</tr>
<tr>
<td>确认密码:</td>
<td width="254"><input onblur="checkSame_1('password','passsAgain','urpw')" onfocus="onFocus('urpw')" class="input_txt" type=password keytype2="rpw" name=passAgain keytype="1" style="height:22px; width:222px" /><strong><font color="#FF0000">*</font> </strong></td>
<td width="426"><span class=gray id=urpw>再次输入密码</span></td>
</tr>
</table>
</body>
</html>
var username_help='3-16个字符(a-z,0-9,_)';
var username_ok='<img src=img/OK.png align=absbottom>用户名可以使用';
var username_error='<img src=img/NO.png align=absbottom> 用户名超过了16个字符!';
var username_error_1='<img src=img/NO.png align=absbottom> 您的用户名输入格式不正确!';
var username_exist='<img src=img/NO.png align=absbottom> 您填写的用户名已经存在!';
var username_null='<img src=img/NO.png align=absbottom> 用户名长度最少3位!';
function getHTTPObject(){
var xmlhttp = false;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType('text/xml');
}
}else{
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){ xmlhttp = false; }
}
}
return xmlhttp;
} var http = getHTTPObject(); function getAbsLeft(e){
var l=e.offsetLeft;
while(e=e.offsetParent) l += e.offsetLeft;
return l;
}
function getAbsTop(e) {
var t=e.offsetTop;
while(e=e.offsetParent) t += e.offsetTop;
t=t+18;
return t;
} //...............................................................
function onFouces(str){
document.getElementById(str).className='word_help';
if(str=='unamespan'){
document.getElementById(str).innerHTML=username_help;
}
}function backState(str){
if(str=='uname'){
document.getElementById('username').keytype=0;
document.getElementById('unamespan').className='gray';
document.getElementById('unamespan').innerHTML=username_ok;
}
}
function checkUserName_1(obj_str,num,obj_strl){
var obj=document.getElementById(obj_str);
var obj_help=document.getElementById(obj_strl);
obj.keytype=0;
if(obj.value.length<3){
obj.keytype=1;
obj_help.innerHTML=username_null;
obj_help.className=word_error;
return false;
}
if(obj.value.length>num){
obj.keytype=1;
obj_help.innerHTML=username_error;
obj_help.className=word_error;
return false;
}
//检查是否有不符合规定的字符
var name_str=obj.value;
//name_str=name_str.replace(/[\u4e00-\u9fa5]/g,'');
name_str=name_str.replace(/[a-zA-Z0-9_]/g,'');
name_str=name_str.replace(/-/g,'');
if(name_str!=''){
obj.keytype=1;
obj_help.innerHTML=username_error_1;
obj_help.className=word_error;
return false;
}
//检测用户名是否存在
var username = document.getElementById('username').value;
url = "checkuserreg.php?username="+username;
http.open("GET",url,true);
http.onreadystatechange = handleHttpResponseForUserName_1;
http.send(null);
if(obj.keytype==0){
backState("uname");
}
}function handleHttpResponseForUserName_1(){
if(http.readyState == 4){
if (http.status == 200) {
returnStr=Trim(http.responseText);
if(returnStr=="1"){
var obj_1=document.getElementById("unamespan");
obj_1.innerHTML=username_exist;
document.getElementById("username").keytype=1;
obj_1.className=word_error;
return false;
}
}
}
}
function Trim(str) {
return RTrim(LTrim(str));
}
function LTrim(str) {
return str.replace(/^[ \t\n\r]+/g, "");
} function RTrim(str) {
return str.replace(/[ \t\n\r]+$/g, "");
}
header('ontent-Type:text/html;charset=GB2312');//避免输出乱码
$dbhost ="localhost";
$dbuser ="root";
$dbpassword = "root";
mysql_connect($dbhost,$dbuser,$dbpassword) or die("error!");
mysql_query("set names 'gbk'");
mysql_select_db('db_text');$username=trim($_GET['username']);//获取注册名
$sql="select username from tb_user where username='".$username."'";//查询会员名
$result=mysql_query($sql);
$num=mysql_num_rows($result);
$rows=mysql_fetch_array($result);
if($num<>0){
echo "1";
}
else{
echo "0";
}
mysql_close();//关闭数据库连接
?>
obj.keytype=1;
obj_help.innerHTML=username_null;
obj_help.className=word_error;
obj.focus(); //加上这句,下面的验证类似。
return false;
}
if(http.readyState == 4){
if (http.status == 200) {
returnStr=Trim(http.responseText);
if(returnStr=="1"){
var obj_1=document.getElementById("unamespan");
obj_1.innerHTML=username_exist;
document.getElementById("username").keytype=1;
obj_1.className=word_error;
return false;
} else {
document.getElementById("username").focus(); // 加上这个
}
}
}
}
function handleHttpResponseForUserName_1(){
if(http.readyState == 4){
if (http.status == 200) {
returnStr=Trim(http.responseText);
if(returnStr=="1"){
var obj_1=document.getElementById("unamespan");
obj_1.innerHTML=username_exist;
document.getElementById("username").keytype=1;
obj_1.className=word_error;
document.getElementById("username").focus(); // 加上这个
return false;
}
}
}
}
alert(returnStr + ':' + returnStr.length);
看看有什么
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>那么还要自己写那些做什么?
建议你改写成直接用 jquery 的,简单的例子<script>
$(function() {
$('#username').blur(function() {
$.post('check.php', {username:$(this).val()}, function(m) {
$('#unamespan').html(m == 1 ? '不可用' : '可用');
if(m == 1) $('#username').focus();
});
});
});
</script>
数字打头不可用,字母打头可用<br>
用户名:<input name=username id=username class="input_txt"style="height:22px; width:222px" />
<span class=gray id=unamespan>3-16个字符</span><br>
check.php<?php
echo is_numeric($_POST['username']{0}) ? 1 : 0;
是不是很简单呢?