PHP 实现注册帐号离开文本后检查是否存在这个用户名

上图具体就是这个效果输入完成后不提交就可以查询到用户是否存在。因为我写了一个网站整个操作的内容的地方都是用iframe标签实现的。菜单直接写成js点击改iframe标签地... 上图 具体就是这个效果 输入完成后 不提交就可以查询到用户是否存在。
因为我写了一个网站 整个操作的内容的地方都是用iframe标签实现的。菜单直接写成js点击改iframe标签地址

这是我的网站效果图 我想用1图的效果达到,时时刷新进行中的订单数量的改变变为动态。
顺便可以监控用户的登陆缓存是否到期。求大神告知 感激不尽,特献上所有银子
展开
 我来答
轻风来客
推荐于2016-02-22 · TA获得超过217个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:184万
展开全部

你可以使用jquery+ajax来实现具体思路如下:

当文本框失去焦点触发一事件,该事件处理过程为:

当文本框内容为空时提示请输入用户名,当文本框有值时,ajax提交数据到一php页面.该页面查询该用户是否存在,返回一个状态给ajax,然后ajax再根据状态来显示该用户是否已经注册.

代码可以简略为:

1.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="Generator" content="EditPlus®">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    <title>Document</title>
</head>
<body>
<script src='jquery-9.1.min.js'></script><!--你下载的jquery在本地的路径-->
<form action='需要提交到的页面' method='post'>
    <input  type='text' name='name' id='uname'/><span id="msg" style="color: red;">*</span>
    <input  type='text' name='ku' id='ku'/>
</form>
<script>
    $('#uname').blur(function(){
        var  name=$.trim($(this).val());
        if(name=='')
        {
           $("#msg").text("请输入用户名");
            $(this).focus();
        }
        else
        {
            $.ajax({
                'url':'1.php',
                'data':{name:name},
                'type':'post',
                'dataType':'json',
                success:function(res){
                    if(res.success==1)
                    {
                        $("#msg").css('color','green');
                        $("#msg").text("该用户可以注册"); 
                    }
                    else
                    {
                        $("#msg").css('color','red');
                        $("#msg").text("该用户已经存在");
                    }
                },
                error:function(){alert("请求失败");}
            })
        }
    })
</script>
</body>
</html>

   1.php

   $name=$_POST['name'];//出过来的用户名
   //数据库查询这里我就不写了我也不知道你数据库的结构
   省略数据库查询
   if(存在)
   {
         die(json_encode(array('success'=>0)));
   }
else
{
  
die(json_encode(array('success'=>1)));
   
}

   

   

  

梦烦月
2014-08-26 · 超过26用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:58.5万
展开全部

鼠标离开文本框的事件可以用onblur,建议用onchange,也即文本内容改变后触发操作。建议使用jQuery。

$('input#email').change(function(){
    var email = $.trim($(this).val());
    if(email == ''){
        alert("您尚未填写email信息!");
        return false;
    }
    $.get(
        'url_to_check_email_exits.php',    //此服务端代码自己实现
        {'email': email},
        function(data){
            if(data.err == 0){    //不存在
                //TODO: 
            }else{                //已存在
                alert("此email的注册信息已存在!");
                return false;
            }
        },
        'json'
    );
});

大致如上,手写的,可能有错。

实时刷新代码如下

var circle_req = setInterval(function(){
    $.get(
        'get_new_info.php',    //此服务端代码自己实现
        {'data': 'this is some data...'},
        function(data){
            if(data.err == 0){    //获取成功
                //TODO: 根据ajax返回动态修改页面
            }else{                //获取失败
                //alert("此email的注册信息已存在!");
                return false;
            }
        },
        'json'
    );
}, 5000);//设定定时5秒循环读取ajax局部刷新页面

 因为你用的是iframe,也有个比较简单的实现方式——定时刷新iframe。在iframe中的页面上添加如下代码:

$(document).readey(function(){
    self.location.reload();    //刷新页面
}, 5000);//设定定时5秒刷新iframe
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
影翼视觉lyl
2014-08-26 · TA获得超过630个赞
知道小有建树答主
回答量:1279
采纳率:50%
帮助的人:670万
展开全部
这个是需要ajax来做的,步骤就是当文本框失去焦点时异步提交用户名给服务器,然后服务器查找数据库,最后把内容返回回来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞鸟flybird
2014-08-26 · TA获得超过141个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:76.9万
展开全部
用普通的ajax,发送到一个页检查,将结果实时返回。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-08-26
展开全部
首先对你设计的效果图表示钦佩,看起来很赞。
顺带说下iframe方式还请避免使用。
回答问题:检查用户名使用ajax。
原理:用户名那个输入框失去焦点的动作触发js,调用后台程序去现有用户库检索,并将结果反馈给前台。整体不需要刷新页面。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式