ThinkPHP框架结合Ajax实现用户名校验功能示例


Posted in PHP onJuly 03, 2019

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

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

ThinkPHP框架结合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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
在IIS上安装PHP4.0正式版
Oct 09 PHP
实用函数2
Nov 08 PHP
php实现网站插件机制的方法
Nov 10 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
php 生成自动创建文件夹并上传文件的示例代码
Mar 07 PHP
PHP判断指定时间段的2个方法
Mar 14 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
Apr 21 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
PHP attributes()函数讲解
Feb 03 PHP
php的lavarel框架中join和orWhere的用法
Dec 28 PHP
PHP实现关键字搜索后描红功能示例
Jul 03 #PHP
Smarty模板类内部原理实例分析
Jul 03 #PHP
Referer原理与图片防盗链实现方法详解
Jul 03 #PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
Jul 03 #PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 #PHP
thinkphp5修改view到根目录实例方法
Jul 02 #PHP
PHP rmdir()函数的用法总结
Jul 02 #PHP
You might like
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
php数据库连接
2006/10/09 PHP
php5 and xml示例
2006/11/22 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
php实现文件编码批量转换
2014/03/10 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
laravel请求参数校验方法
2019/10/10 PHP
客户端静态页面玩分页
2006/06/26 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
javascript 中的 delete及delete运算符
2015/11/15 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
js实现随机抽奖
2020/03/19 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
python实现的一个火车票转让信息采集器
2014/07/09 Python
回调函数的意义以及python实现实例
2017/06/20 Python
python paramiko模块学习分享
2017/08/23 Python
详解基于django实现的webssh简单例子
2018/07/17 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
《月光启蒙》教学反思
2014/03/01 职场文书
快递员岗位职责
2014/09/12 职场文书
商铺门面租房协议书
2014/10/21 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书