<html>
<head>
<title>
ajax验证
</title>
</head>
<body>
<input type="text" name="username" id="username"/>
<input type="button" name="button" value="检测" onclick="validation();" />
<div id="info"></div>
<script>
function validation(){
var name=document.getElementById('username').value; var data="username="+name+"&password="+pwd;
ajax("verify.php",data,function(result){
document.getElementById("info").innerHTML=result;
});
} function ajax(url,data,onsuccess){
var xmlhttp=new XMLHttpRequest;
xmlhttp.open("POST",url,true);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
onsuccess(xmlhttp.responseText);
}else{
alert("ajax错误");
}
}
}
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send(data);
} </script>
</body>
</html>

下面是服务端代码

<?php
$con=@mysql_connect('localhost','root','');
$user=$_POST['username'];
mysql_query('use ms');
$sql = "select `username` from `user` where `username` = '$user'";
$res=mysql_query($sql);
$test=mysql_fetch_array($res);
if($test){
echo "存在用户".$user;
}else{
echo "不存在此用户".$user;
} ?>

数据库用的是见了一个叫ms的数据库,然后一个标user

其中有几个地方新手需要注意

1.设置请求头
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); //这个设置不对的话会导致后台接收不到数据

2.sql语句里面的`号和'区分开来
正确语法
$sql = "select `username` from `user` where `username` = '$user'";

3.mysql_query请求返回的资源需要用mysql_fetch_array检测才能用if语句判断
$res=mysql_query($sql);
$test=mysql_fetch_array($res);
if($test){。。。。}

4.检查错误时,可以先print_r($_POST)看是不是客户端ajax未获取到数据

自学php一个月了,越发觉得自己需要多敲代码练习

AJAX验证用户是否存在的更多相关文章

  1. 使用Ajax验证用户是否已存在

    在服务器端使用Servlet,里面在集合里存了几个字符串,没有对数据库操作. 前台input页面和Ajax验证: <%@ page language="java" conte ...

  2. 03-22 Ajax验证用户登录

    在网页中一般是通过表单提交数据,而表单获取信息,抛弃当前页面重新加载一个新页面. 现在,在webform网页中可以通过JueryAjax提交.处理数据的方式,达到异步刷新页面. 表单提交数据和Juer ...

  3. 通过配置http拦截器,来进行ajax请求验证用户登录的页面跳转

    在.NET中验证用户是否登录或者是否过期,若需要登录时则将请求转向至登录页面. 这个流程在进行页面请求时是没问题的,能正确进行页面跳转. 然而在使用xmlhttprequest时,或者jq的getJs ...

  4. 使用 jQuery Ajax 异步登录,并验证用户输入信息(maven)

    使用 jQuery Ajax 异步登录,并验证用户输入信息(maven) 本篇内容: (1)上一篇是使用同步的请求实现登录,并由 Servlet 决定登陆后下一步做哪些事情,本篇使用 jQuery A ...

  5. 基于Ajax与用户认证系统的登录验证

    一.登录页面 from django.contrib import admin from django.urls import path from blog import views urlpatte ...

  6. easyui 自定义验证规则 验证用户是否已经存在 远程ajax验证

    easyui远程ajax验证 2014年09月30日 22:29:32 clj198606061111 阅读数:6130 标签: easyui 更多 个人分类: jqueryeasyui 版权声明:本 ...

  7. 无法在提交表单前通过ajax验证解决办法

    博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单. 例如:一个简单的验证函数 function check(){ $.post(&q ...

  8. 每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码

    2013-9-15 1.    CustomValidator验证控件验证用户输入的字符长度 在实际的开发中通常会遇到验证用户输入的字符长度的问题,通常的情况下,可以写一个js的脚本或者函数,在ASP ...

  9. 利用jQuery实现的Ajax 验证用户名是否存在

    异步刷新实现方式有多种,也可以借助JS的多种框架,下面是使用jQuery框架实现的AJAX 验证用户名是否存在 jQuery.ajax概述 HTTP 请求加载远程数据. 通过jQuery 底层 AJA ...

随机推荐

  1. 版本控制、SVN、VSS

    ylbtech-Miscellaneos: 版本控制.SVN.VSS 1.A,版本控制返回顶部 1, 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所 ...

  2. git同步开发更新至项目目录(转载)

    From:http://toroid.org/ams/git-website-howto 本地版本库中存放开发的项目代码.以下内容介绍如何将本地版本库修改通过执行“git push web”命令同步到 ...

  3. 更新nvm

    在官方看到这个文档 ( cd "$NVM_DIR" git fetch origin git checkout `git describe --abbrev=0 --tags -- ...

  4. windowns--HANDLE,

    HANDLE: 在windows程序中,有各种各样的资源(窗口.图标.光标等),系统在创建这些资源时会为他们分配内存,并返回标示这些资源的标示号,即句柄. 句柄指的是一个核心对象在某一个进程中的唯一索 ...

  5. Oracle中对表的操作

    表的创建与管理 创建表: CREATE TABLE TABLE_NAME ( COLUMN_NAME TYPE [DEFAULT VALUE], COLUMN_NAME TYPE [DEFAULT V ...

  6. Dubbo的Maven打包

    Maven项目的依赖,我们可以通过下面命令看到,打包时,会按照这个依赖编译进去对应模块. 参考:http://www.cnblogs.com/ghj1976/p/5336923.html mvn de ...

  7. [SQL]sql语句中charindex的用法

    假如你写过很多程序,你可能偶尔会碰到要确定字符或字符窜串否包含在一段文字中,在这篇文章中,我将讨论使用CHARINDEX和PATINDEX函数来搜索文字列和字符串.我将告诉你这两个函数是如何运转的,解 ...

  8. FreeMarker语法知识

    FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成:1,文本:直接输出的部分2,注释:<#-- ... -->格式部分,不会输出3 ...

  9. 采用p6spy完整显示hibernate的SQL语句

    虽然在hibernate中有show_sql选项,但是显示出来的语句大多类似 select * from xxx where value=? 但是有时候我们需要得到完整的SQL语句,怎么办呢?使用P6 ...

  10. Sqoop实现自定义job的增量导入

    需求:redis缓存的数据隔段时间往MySQL中写入一次.如果按照job的增量导入,比如上次redis向mysql导入数据时间为8:00,下一次导入时间为9:00,8:20sqoop进行增量导入,导入 ...