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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
php你的验证码安全码?
Jan 02 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
PHP教程 预定义变量
Oct 23 PHP
php遍历目录viewDir函数
Dec 15 PHP
php分页思路以及在ZF中的使用
May 30 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 PHP
Java和PHP在Web开发方面对比分析
Mar 01 PHP
基于PHP如何把汉字转化为拼音
Dec 11 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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
PHP中的日期及时间
2006/11/23 PHP
PHP与MySQL开发的8个技巧小结
2010/12/17 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
php实现paypal 授权登录
2015/05/28 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
跟老齐学Python之做一个小游戏
2014/09/28 Python
Python正则表达式知识汇总
2017/09/22 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
Python tkinter和exe打包的方法
2020/02/05 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
感恩老师演讲稿400字
2014/08/28 职场文书
置业顾问岗位职责
2015/02/09 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
免职通知
2015/04/23 职场文书
办公经费申请报告
2015/05/15 职场文书
小学生手册家长意见
2015/06/03 职场文书
javascript的var与let,const之间的区别详解
2022/02/18 Javascript
MongoDB支持的索引类型
2022/04/11 MongoDB
PyTorch中permute的使用方法
2022/04/26 Python