thinkphp框架结合ajax实现用户名校验功能示例

 更新时间:2019年07月03日 11:04:01   作者:yeoman92   我要评论

这篇文章主要介绍了thinkphp框架结合ajax实现用户名校验功能,涉及thinkphp使用ajax与后台控制交互、数据库查询、判定等相关操作技巧,需要的朋友可以参考下

本文实例讲述了thinkphp框架结合ajax实现用户名校验功能。分享给大家供大家参考,具体如下:

在模板文件中通过ajax获取到用户名,然后在控制器中将用户名与数据库比较,返回校验结果给模板文件。

模板文件路径shop/home/view/user/register.html

<!--register.html-->
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>untitled document</title>
<script type="text/javascript">
  var urlpath = "{$smarty.const.__controller__}";
  //ajax无刷新方式校验用户名
  function checkname(){
    //(1)获取被校验的用户名信息
    var nm = document.getelementbyid('user_username').value;
    //(2)ajax抓取到用户名传递给服务器端进行校验
    var xhr = new xmlhttprequest();
    xhr.onreadystatechange = function(){
      if(xhr.readystate == 4){
        document.getelementbyid('namecheck').innerhtml = xhr.responsetext;
      }
    }
    //tp框架使用模式:分组/控制器/操作方法/方法参数
    //xhr.open('get', "/shop/index.php/user/checknm/" + nm);//默认分组为home
    xhr.open('get', urlpath + "/checknm/" + nm);
  }
</script>
</head>
<body>
  <tr>
    <td>
      <label for="user_username">用户名</label>
    </td>
    <td>
      <input type="text" name="username" value="" id="user_username" onblur="checkname()">
      <span id="namecheck">{$errorinfo.username|default:""}</span>
    </td>
  </tr>
</body>
</html>

控制器文件路径shop/home/controller/user/usercontroller.class.php

<?php
//usercontroller.class.php
//命名空间
namespace home\controller;
use think\controller;
//前台用户控制器
class usercontroller extends controller{
  //用户名校验
  function checknm($name){
    //在数据库中根据条件查询结果
    $info = d('user')->where("username='$name'")->find();
    if($info){
      echo "<span style='color:red'>用户名已存在,请换一个</span>";
    }else {
      echo "<span style='color:green'>恭喜,用户名可以使用</span>";
    }
    exit;
  }
}

更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《codeigniter入门教程》、《ci(codeigniter)框架进阶教程》、《zend framework框架入门教程》及《php模板技术总结》。

希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。

相关文章

  • php侧拉菜单 漂亮,可以向右或者向左展开,支持ff,ie

    php侧拉菜单 漂亮,可以向右或者向左展开,支持ff,ie

    其中menu ul ul的left或者right控制向右或者向左显示子菜单
    2009-10-10
  • 基于 swoole 的微信扫码登录功能实现代码

    基于 swoole 的微信扫码登录功能实现代码

    随着微信的普及,扫码登录方式越来越被现在的应用所使用。它因为不用去记住密码,只要有微信号即可方便快捷登录.这里基于微信公众平台的带参数临时二维码,并且结合 swoole 的 websocket 服务实现扫码登录
    2018-01-01
  • php parse_str() 函数的定义和用法

    php parse_str() 函数的定义和用法

    下面小编就为大家带来一篇php parse_str() 函数的定义和用法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • thinkphp数据操作方法总结

    thinkphp数据操作方法总结

    这篇文章主要介绍了thinkphp数据操作方法,以实例形式较为详细的分析总结了thinkphp添加、更新、查询及删除数据的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • 深入理解php 数组之count 函数

    深入理解php 数组之count 函数

    下面小编就为大家带来一篇深入理解php 数组之count 函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • yii2中事务的使用实例代码详解

    yii2中事务的使用实例代码详解

    这篇文章主要介绍了yii2中事务的使用实例代码详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • thinkphp连接数据库及主从数据库的设置教程

    thinkphp连接数据库及主从数据库的设置教程

    这篇文章主要介绍了thinkphp连接数据库及主从数据库的设置方法,是进行大型web项目开发十分有用的技巧,需要的朋友可以参考下
    2014-08-08
  • php中apc缓存使用示例

    php中apc缓存使用示例

    apc全称alternative php cache,可以缓存php的源码文件,也可以缓存用户数据,下面就安装一下他,看看如何查询缓存、修改缓存、删除缓存等功能
    2013-12-12
  • 浅谈php匿名函数和闭包

    浅谈php匿名函数和闭包

    这篇文章主要介绍了php匿名函数和闭包,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 利用laravel+ajax实现文件上传功能方法示例

    利用laravel+ajax实现文件上传功能方法示例

    最近在做的项目基于laravel开发,需要用到ajax上传,查了些资料,自己整理了下可用的方法。下面这篇文章主要给大家介绍了关于利用laravel+ajax实现文件上传功能的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08

最新评论