最新消息:

PHP第1款:jquery.validator.js和PHP远程验证

PHP应用 杨红伟 1986浏览 0评论

一、模块介绍

当我们在做项目的时候,会碰到表单验证,比如手机号验证、邮件验证等,这时候我们可以用jquery的ajax来进行远程无刷新验证。但是笔者在碰到jquery.validator.js这款插件的时候,它有一个 remote方法 ,可以帮我们来完成此项功能。一句话就可以搞定,感觉它好强大!

为什么呢?不知道的可以看这篇文章先了解一下  http://niceue.com/validator/demo/remote.php ,当然它介绍的很详细,但没有把PHP的实例贴出来。对于不懂的人,可以再回到我这篇文章来看……

<input name="username" data-rule="required;username;remote[username.php]" placeholder="用户名">

在上边这段代码,我们加上一个 remote[username.php] 来进行远程验证,就这么简单!

因为它的强大,所以我就有心思写了这篇文章!

二、图片展示、演示及下载 

 

三、插件作者下载地址

作者:Jony Zhang 是国人,不是外国人噢
官方网站: http://niceue.com/

四、使用方法

a. 使用规则:remote([get:]url [, name1, [name2]...]);
b. url前面的get:是可选的,加上此参数,将改变ajax方式为GET
c. 从第二个参数起,可选传入字段的name,用于附带额外请求参数
d. 智能适配服务器返回的3种数据格式,对于json格式(2和3)只需要包含所需数据就适配:
1. '' => 成功, '错误消息' => 失败
2. {"ok":""} => 成功,{"ok":"名字很棒!"} => 成功, {"error":"错误消息"} => 失败
3. {"data":{"ok":""}} => 成功,{"data":{"ok":"名字很棒!"}} => 成功, {"data":{"error":"错误消息"}} => 失败

五、最简使用教程

 

引用代码:引用jquery,插件js,css及js的中文说明

<script type="text/javascript" src="validator/jquery-1.7.2.min.js"></script>
<link rel="stylesheet" href="validator/jquery.validator.css"/>
<script type="text/javascript" src="validator/jquery.validator.js"></script>
<script type="text/javascript" src="validator/local/zh_CN.js"></script>
<script type="text/javascript">
	$(function(){
		$('#demo_61').validator();
	})
</script>

HTML代码: 直接在 data-rule 加上 remote[mysqli.php] 即可。required是指的必须输入,mobile指的是手机格式

<form id="demo_61" action="test.php" method="post" autocomplete="off">
	<div style="height:80px;"><input name="mobile" value="" data-rule="required;mobile;remote[mysqli.php]" placeholder="请填写手机号码" /></div>
	<div style="height:80px;">测试数据:13453183584 数据库无此信息,18903467858 数据库有信息的</div>
</form>

SQL代码:建立一个数据库

CREATE DATABASE `ijqueryphp` ;

DROP TABLE IF EXISTS `php_users`;
CREATE TABLE `php_users` (
  `user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `user_name` varchar(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`user_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

INSERT INTO `php_users` VALUES (1,'15947270499');
INSERT INTO `php_users` VALUES (2,'18903467858');

PHP代码:mysqli.php

<?php
    header('Content-type:text/html; charset=UTF-8'); 
    //配置数据库参数
    $db_host="localhost";         //连接的服务器地址
    $db_user="users";               //连接数据库的用户名
    $db_psw="users";                //连接数据库的密码
    $db_name="ijqueryphp";            //连接的数据库名称
	
    //初始化并连接数据库
    $mysqli=new mysqli();
    $mysqli->connect($db_host,$db_user,$db_psw,$db_name);
	
    //传参并查询数据库
    $username = trim($_POST['username']);
    $sql="SELECT count(*) as num FROM `php_users` where user_name='$username'";
	
    //根据数量及json来判断
    $result = $mysqli ->query($sql);
    $row = $result->fetch_array();
    $num = $row['num'];

    //数组使用
    $arr = array('ok'=>'该手机号可以使用!');
	
    if ($num>0)
    {
        $arr = array('error'=>'该手机号已经存在!');	
    }
    echo json_encode($arr);
	
    //关闭数据库
    mysqli_free_result($result);
    $mysqli->close();
	

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址