用户注册页面问题 求指点啊

php中文网
发布: 2016-06-23 13:59:52
原创
1065人浏览过

我用PHP AJAX 写了一个用户注册页面 如果用户名没有通过的话 不能跳到下一行输入密码 该怎么做?

Ztoy网络商铺多用户版
Ztoy网络商铺多用户版

在原版的基础上做了一下修正:增加1st在线支付功能与论坛用户数据结合,vip也可与论坛相关,增加互动性vip会员的全面修正评论没有提交正文的问题特价商品的调用连接问题删掉了2个木马文件去掉了一个后门补了SQL注入补了一个过滤漏洞浮动价不能删除的问题不能够搜索问题收藏时放入购物车时出错点放入购物车弹出2个窗口修正定单不能删除问题VIP出错问题主题添加问题商家注册页导航连接问题添加了导航FLASH源文

Ztoy网络商铺多用户版 0
查看详情 Ztoy网络商铺多用户版

回复讨论(解决方案)

代码? 代码?

代码? 代码? 我写的代码吗?就是一个注册页面 一个ajax.js 一个检查用户名是否存在的ckuser.php页面

目前是这样的 我想改成如果用户名没有通过,焦点一直在用户名的那个输入框 改怎么加代码?

是啊,不贴出代码,怎么知道问题出在哪?

目前是这样的 我想改成如果用户名没有通过,焦点一直在用户名的那个输入框 改怎么加代码?

没通过校验的话,在让用户名输入框获得焦点就行了

是啊,不贴出代码,怎么知道问题出在哪? 不是出现问题,是我不知道该怎么添加这个功能


目前是这样的 我想改成如果用户名没有通过,焦点一直在用户名的那个输入框 改怎么加代码?

没通过校验的话,在让用户名输入框获得焦点就行了 代码改怎么写啊?

添加也要在原来的代码上加,把你的代码贴出来吧。

添加也要在原来的代码上加,把你的代码贴出来吧。

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 alt="用户注册页面问题 求指点啊" >用户名可以使用'; var username_error='<img  src=img/NO.png align=absbottom alt="用户注册页面问题 求指点啊" > 用户名超过了16个字符!'; var username_error_1='<img  src=img/NO.png align=absbottom alt="用户注册页面问题 求指点啊" > 您的用户名输入格式不正确!'; var username_exist='<img  src=img/NO.png align=absbottom alt="用户注册页面问题 求指点啊" > 您填写的用户名已经存在!'; var username_null='<img  src=img/NO.png align=absbottom alt="用户注册页面问题 求指点啊" > 用户名长度最少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         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(); // 加上这个            }        }     } }
登录后复制

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(); // 加上这个            }        }     } }
登录后复制
这个起作用了 就是符合条件的通过不了,不符合的能通过

你的username input 框没有id值,能运行成功吗?

if(obj.value.length         obj.keytype=1;
        obj_help.innerHTML=username_null;
        obj_help.className=word_error;
         obj.focus();    //加上这句,下面的验证类似。
        return false;
    } 这个好像没有作用 楼下的有作用了

噢,你是不合法(用户已存在)时返回 1

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;             }        }     } }
登录后复制

噢,你是不合法(用户已存在)时返回 1

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;             }        }     } }
登录后复制
高手 放在里面不起作用了 怎么回事啊

在 returnStr=Trim(http.responseText); 后面加上
alert(returnStr + ':' + returnStr.length);
看看有什么

在 returnStr=Trim(http.responseText); 后面加上
alert(returnStr + ':' + returnStr.length);
看看有什么 0:1 

那不是对的吗?
返回的是 0 就显示“用户名可以使用”

那不是对的吗?
返回的是 0 就显示“用户名可以使用” 是啊 可是刚才写的那段代码加在里面不起作用,加在外面完全又完全相反,高手兄,该怎么改啊

突然发现你有用 jquery
<script></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="max-width:90%" /><span class=gray id=unamespan>3-16个字符</span><br>
登录后复制
check.php
<?phpecho is_numeric($_POST['username']{0}) ? 1 : 0;
登录后复制

是不是很简单呢?

突然发现你有用 jquery
<script></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;
登录后复制

是不是很简单呢? OK 谢了 高手兄

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号