php制作动态随机验证码(4)


<?php
/**
 *      [verification-code] (C)2015-2100 jingwhale.
 *     
 *      This is a freeware
 *      $Id: codeimg.php 2015-02-05 20:53:56 jingwhale$
 */
//开启session
session_start();
//引入全局函数库(自定义)
require dirname(__FILE__).'/includes/global.func.php';
//运行验证码函数。通过数据库的_code方法,设置验证码的各种属性,生成图片
_code(125,25,6,false);
?>

php制作动态随机验证码

3)创建session检验机制

首先必须在verification-code.php页面也开启session;

其次,设计提交验证码的方式,本文以get方式提交,当action=verification时提交成功;

最后,创建验证函数,原理是将客户端用户提交的验证码同服务器codeimg.php中session的验证码是否一致;这里有一个js弹窗函数_alert_back(),我们也把它封装在global.func.php里;

修改verification-code.php中php代码如下:

复制代码 代码如下:


<?php
/**
 *      [verification-code] (C)2015-2100 jingwhale.
 *
 *      This is a freeware
 *      $Id: verification-code.php 2015-02-05 20:53:56 jingwhale$
 */
//设置字符集编码
header('Content-Type: text/html; charset=utf-8');
//开启session
session_start();
//引入全局函数库(自定义)
require dirname(__FILE__).'/includes/global.func.php';
//检验验证码
if ($_GET['action'] == 'verification') {
    if (!($_POST['code'] == $_SESSION['code'])) {
        _alert_back('验证码不正确!');
    }else{
        _alert_back('验证码通过!');
    }

?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>verification code</title>
    <link type="text/css" href="https://www.jb51.net/style/basic.css" />
    <script type="text/javascript" src="https://www.jb51.net/js/codeimg.js"></script>
</head>
<body>
    <div>
        <form method="post" action="verification-code.php?action=verification">
            <dl>
                <dd>验证码:<input type="text" /><img src="https://www.jb51.net/codeimg.php"  /></dd>
                <dd><input type="submit" value="验证" /></dd>
            </dl>
        </form>
    </div>
</body>
</html>

3.实现点击验证码图片更新验证码

上面若想实现验证码更新,必须刷新页面;我们写一个codeimg.js函数实现点击验证码图片更新验证码

复制代码 代码如下:


window.onload = function () {
    var code = document.getElementById('codeimg');//通过id找到html中img标签
    code.onclick = function () {//为标签添加点击事件
        this.src='codeimg.php?tm='+Math.random();//修改时间,重新指向codeimg.php
    };   
}

然后在verification-code.php html代码head里<link>它即可。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e23356ddb2002997326b836d3286dbce.html