AJAX与PHP(PHP笔记)--动态验证用户名
在PHP基础的学习过程中经常会遇到对页面的局部刷新。
比如说,我们在填写用户名的同时,对数据库中的信息进行验证,检查是否充分。
这时就要用到AJAX实现页面的动态加载。
下面例子是简单的PHP与AJAX交互的方法:
PHP+AJAX+MySQL
首先是html部分
ajax.html
<html>
<head>
<!--加载jquery库-->
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--加载js-->
<script type="text/javascript" src="ajax_test.js"></script>
</head>
<body>
<input class="input" type="text" name="name" onkeyup="nameCheck(this.value)">
</body>
</html>
然后是AJAX部分:
ajax_test.js
/*
动态检查用户名是否重复
当用户名栏有键盘动作时调用
会通过PHP检查MySQL数据库中用户名是否等于输入
*/
function nameCheck(str) {
//判断输入是否不为空
if (str.length !== 0) {
//不为空则启动AJAX进行局部刷新
if (window.XMLHttpRequest) {
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行的代码
xmlhttp = new XMLHttpRequest();
} else {
//IE6, IE5 浏览器执行的代码
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//处理函数
xmlhttp.onreadystatechange = function() {
//readyState为4时服务器响应完成
//status=200时交易成功
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//判断PHP返回值
if (xmlhttp.responseText == '1') {
//返回1说明用户名重复,弹出窗口
alert("用户名重复!");
}
}
};
//规定请求的类型、URL 以及是否异步处理请求。
xmlhttp.open("GET", "checkName.php?name=" + str, true);
//发送
xmlhttp.send();
}
}
之后是处理数据库的php部分
checkName.php
<?php
/*
该脚本用于判断数据库中是否存在AJAX传来的值
*/
//从请求URL地址中获取 name参数
$name=$_GET["name"];
//通过mysqli连接数据库
//参数分别为(服务器地址,用户名,密码,数据库名)
$con = new mysqli("localhost","root","","test");
//判断数据库连接是否成功
if ($con ->connect_error) {
//die()函数--->终止脚本并输出信息
die("数据库连接失败:".connect_error);
}
//SQL语句
$sql = "SELECT name FROM User WHERE Name = '".$name."'";
//调用mysqli的query()方法查询
$result = $con->query($sql);
//关闭连接
$con->close();
//判断结果并输出num_rows为行数
if ($result->num_rows != 0) {
//如果存在相同信息则输出'1'
echo('1');
}else{
//如果不存在相同信息则输出'0'
echo('0');
}
?>
我在数据库中插入过admin这个用户
所以,结果如下:
AJAX与PHP(PHP笔记)--动态验证用户名的更多相关文章
- Jquery验证插件 JqueryValidation 动态验证用户名等
可以参考:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html //form1 验证用户名 $("#form1"). ...
- 使用Ajax和JSON实现注册时候验证用户名是否存在的功能
功能实现的思路:当通常一个网站需要注册用户信息的时候,往往会让用户起一个名字,但一般要求这个用户名称是不能重复的,为了判断新注册的用户填写的用户名是否已经存在,需要对填写的用户名称进行判断,实际项目开 ...
- 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- 使用PHP中的ajax做登录页面、验证用户名是否可用、动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- 14.ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- 表单验证:$tablePrefix(定义表前缀);$trueTableName = 'yonghu',找到真实表名(yonghu)表;create($attr,0)两个参数;批量验证(返回数组);ajax+动态验证表单
*$tablePrefix是定义在Model中的,优先级大于配置文件中,如果项目中表前缀全部比如为"a_",并且在配置文件中定义了 'DB_PREFIX'=>'a_' 后期如 ...
- 11.10 (下午)开课二个月零六天(ajax验证用户名,ajax调数据库)
用ajax验证用户名是否可用 testuid.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...
- 使用Ajax验证用户名
Ajax是一项很重要的技术,下面简要举个例子,来解释如何使用Ajax.步骤如下:使用Ajax验证用户名使用文本框的onBlur事件 使用Ajax技术实现异步交互创建XMLHttpRequest对象通过 ...
随机推荐
- ASP.NET MVC 路由(二)
ASP.NET MVC路由(二) 前言 在上一篇中,提及了Route.RouteCollection对象的一些信息,以及它们的结构所对应的关系.按照处理流程走下来还有遗留的疑问没有解决这个篇幅就来讲 ...
- 谁占了我的端口 for Windows
这篇文章发布于我的 github 博客:原文 今天在本地调试 Blog 的时候意外的出现了一些错误:127.0.0.1 4000 端口已经被其他的进程占用了.如何找到占用端口的进程呢? Configu ...
- .NET 的 Debug 和 Release build 对执行速度的影响
这篇文章发布于我的 github 博客:原文 在真正开始讨论之前先定义一下 Scope. 本文讨论的范围限于执行速度,内存占用什么的不在评估的范围之内. 本文不讨论算法:编译器带来的优化基本上属于底层 ...
- 修改注册表 去除Windows快捷方式图标小箭头
一些朋友不喜欢Windows系统中快捷方式图标上面的小箭头,下面介绍如何修改注册表去除快捷方式图标上的小箭头. 1.开始->运行->输入regedit,启动注册表编辑器,然后; 2.依次展 ...
- PHP面向对象
面向对象 1.类由众多的对象抽象出来的 2.对象 一起皆对象 由类实例化出来的 求两个圆之间阴影的面积 $sr1=10; $sr2=5; $mj=3.14*$sr1*$sr1-3.1 ...
- iOS-----dSYM 文件分析工具
来到新公司后,前段时间就一直在忙,前不久 项目 终于成功发布上线了,最近就在给项目做优化,并排除一些线上软件的 bug,因为项目中使用了友盟统计,所以在友盟给出的错误信息统计中能比较方便的找出客户端异 ...
- oracle数据库表的导入导出cmd命令大全
在实际的项目开发中经常会遇到导入导出oracle数据库中的表,以下是常用的一些cmd命令: 一.数据表的导出 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daoch ...
- javascript 学习笔记
本文主要记录在学习过程中遇到的JavaScript难点或者容易疏忽的细节,也方便自己日后翻阅学习. 1.arr.length === + arr.length arr.length === + arr ...
- 浅谈ThinkPHP3.2的子域名部署和路由优化(一)
前言:建立一个网站系统,往往包含多个子网站,例如PC官网,移动端官网,后台管理,数据源自一个相同的数据库,整个架构上,从ThinkPHP来看,可以大体理解为Model(M)是一样的,Controlle ...
- Java设计模式之建造者模式(Builder)
前言: 最近一直在学习okHttp,也对其做了一些整理,okHttp和Retrofit结合大大加速我们的开发效率,源码里面采用了很多设计模式,今天我们来学习一下其中的设计模式之一建造者模式. 建造者模 ...