用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5013|回复: 6
收起左侧

[讨论/交流] CI如何在注册用户时 用ajax判断 该用户已注册或可用 求解

[复制链接]
发表于 2011-8-30 17:14:04 | 显示全部楼层 |阅读模式
CI如何在注册用户时 用ajax判断 该用户已注册或可用
发表于 2011-8-30 17:46:31 | 显示全部楼层
controllers:
function check_name()
{
  $qs = query_string_to_array();
     $name = $qs['tbxRegisterNickname'];
  $this->load->model('customer_model');
  $msg = array('Result' => true);
  if ($name){
      if ($this->customer_model->check_name($name)){
    $msg = array('Result' => false);
   }   
  }
        
  echo json_encode($msg);
}

view:
$("#tbxRegisterNickname")
    .ajaxValidator(
     {
      type: "GET",
      url: '<?php echo site_url('login/check_name')?>',
      datatype: "json",
      success:
       function(result)
       {
        return result.Result;
       },
      buttons: $("#ibtRegister"),
      onwait: "正在检测用户名是否重复...",
      onerror: "该用户名已被使用"
     });

<div class="lo_child">
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户名:<input name="tbxRegisterNickname" maxlength="20" id="tbxRegisterNickname" type="text">
   </div>
希望对你有帮助
 楼主| 发表于 2011-8-30 22:22:46 | 显示全部楼层
lnlingyuan 发表于 2011-8-30 17:46
controllers:
function check_name()
{

谢谢你,我刚接触CI,有没有完整的呢
发表于 2011-8-31 09:01:16 | 显示全部楼层
这个和CI的关系不大,主要还是前端操作。
你需要在输入用户名的<input>字段设置一个动作,比如keyup或blur,然后通过AJAX指向一个控制器(controller)。通过这个controller操作数据库得出true或false的值,然后再把这个值传回view层。
在view层你需要js脚本捕获这个返回值,并在合适的位置显示判断的结果。
整体思路就是这样,建议用jQuery,方便些。当然也可以自己写AJAX
发表于 2011-8-31 11:19:53 | 显示全部楼层
关键这个是Web的开发问题!!!!!!!
发表于 2012-5-2 16:34:53 | 显示全部楼层
初次接触,难度很高啊……
发表于 2012-8-6 21:10:32 | 显示全部楼层
lnlingyuan 发表于 2011-8-30 17:46
controllers:
function check_name()
{

请问query_string_to_array();这个是什么?

怎么我直接这样写用得有问题
  function ajax_test(){
   $qs = query_string_to_array();
     $name = $qs['username'];
  echo $name;
  }

Fatal error: Call to undefined function query_string_to_array()

本版积分规则