php运用validate+ajax检测用户名是否已存在
2021/5/30 1:28:01
本文主要是介绍php运用validate+ajax检测用户名是否已存在,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前提:如果还不知道什么是validate,请前往这里
一.remote
rules:
username:{ required:true, minlength:8, maxlength:8, remote: { url: 'validateUsername2.php', type: 'POST', dateType: 'json', data: { username:function(){ return $('#username').val(); } } } }
messages:
username:{ required:"账号不能为空", minlength:"账号不得少于8位", maxlength:"账号不能多于8位", remote: "该账号已被注册" }
ajax url处的php文件(使用remote需要在该文件输出true/false):
<?php include 'conn.php'; $username=$_POST['username']; $sql="SELECT * FROM user where uname = '".$username."'"; $isExist =$conn->query($sql); if ($isExist->num_rows == 0){ echo 'true'; } else{ echo 'false'; }
二.自定义
rules:
username:{ required:true, minlength:8, maxlength:8, checkStudentid:true }
messages:
username:{ required:"账号不能为空", minlength:"账号不得少于8位", maxlength:"账号不能多于8位", checkStudentid: "该账号已被注册" }
再加以下方法
//账号验证 $.validator.addMethod("checkStudentid",function () { //定义一个标志 var flag=false; $.ajax({ async:false, url:"validateUsername.php", data: { username: $("#username").val()},//data为该页面用户名id的值 type:"POST", dataType:"json", success:function (data) { flag = (data == 1? false : true); } }); //如果false代表该效验不通过 return !flag; } )
!!!!注意这个async写成false,这个是解决等待的问题,如果不处理成false,则会先return !flag 后执行ajax并对flag赋值,导致出错(被这个坑了很长时间)。
ajax url处的php文件(使用自定义方法该文件只需输出你所需要的结果,可以是false/true或者1/0或者其他,看你在ajax里面是怎么写的了):
<?php include '../conn.php'; $username=$_POST['username']; $sql="SELECT * FROM user where uname = '".$username."'"; $isExist =$conn->query($sql);//此处连接数据库 if ($isExist->num_rows == 0){ echo 1; } else{ echo 0; }
个人感觉使用自定义比remote显示结果要快,所以建议自定义。
结果截图:
这篇关于php运用validate+ajax检测用户名是否已存在的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享