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 相关文章推荐
15种PHP Encoder的比较
Apr 17 PHP
php下载远程文件类(支持断点续传)
Nov 14 PHP
php设置编码格式的方法
Mar 05 PHP
简单的php文件上传(实例)
Oct 27 PHP
codeigniter使用技巧批量插入数据实例方法分享
Dec 31 PHP
php利用腾讯ip分享计划获取地理位置示例分享
Jan 20 PHP
php socket实现的聊天室代码分享
Aug 16 PHP
php防止sql注入之过滤分页参数实例
Nov 03 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
php绘制圆形的方法
Jan 24 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
php中输出json对象的值(实现方法)
Mar 07 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
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
深入理解PHP内核(一)
2015/11/10 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
Javascript倒计时代码
2010/08/12 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
BootStrap入门教程(一)之可视化布局
2016/09/19 Javascript
js 概率计算(简单版)
2017/09/12 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
设计师珠宝:Ylang 23
2018/05/11 全球购物
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
爱耳日活动总结
2014/04/30 职场文书
十佳青年事迹材料
2014/08/21 职场文书
国企干部对照检查材料
2014/08/22 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
师德师风事迹材料
2014/12/20 职场文书
会议主持词结束语
2015/07/03 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL