文档章节

二次开发-如何在PHPEMS引入第三方composer包-验证码实现!

高处胜寒
 高处胜寒
发布于 2018/08/04 14:28
字数 325
阅读 315
收藏 0

gregwar/captcha包为例:

https://packagist.org/packages/gregwar/captcha

第一步:

下载安装:composer require gregwar/captcha

第二步:

在master.php类文件中引入

require_once __DIR__.'/../../vendor/autoload.php';
use Gregwar\Captcha\CaptchaBuilder;

在app类中定义属性,并在构造方法中把captcha对象赋值给该属性

public $yzm;
$this->yzm =  new CaptchaBuilder;

 

第三步:

测试地址:http://127.0.0.1/index.php?test-master-test1-yzm_yz&yzm=stwzn

显示验证码和验证验证码

模板文件中:

<div class="col-xs-12">
    <h5 class="title">
        xxxxxxx
    </h5>
    <p>
        111111111111111111111


        <img src="{x2;$yzm}">
    </p>
</div>

 

<?php


class action extends app
{
    public function display()
    {
        $action = $this->ev->url(3);
        if (!method_exists($this, $action))
            $action = "index";
        $this->$action();
        exit;
    }

    private function index()
    {


        //这两步必须的,否则会不显示验证码
        $this->yzm->build();
        $_SESSION['phrase'] = $this->yzm->getPhrase(); //保存进session
        $yzm_img_url = $this->yzm->inline();

        $this->tpl->assign('yzm', $yzm_img_url);
        $this->tpl->display('test1');
    }


    //验证码验证码测试
    private function yzm_yz()
    {
        print_r($_SESSION);
        $userInput = $this->ev->get('yzm');
        //echo "<hr>";
        //echo $userInput . '-----';
        //  print_r($this->ev->get('yzm'));
       // var_dump($this->yzm->testPhrase($userInput));
        //这里这样验证始终有些问题,不建议
        //https://www.jianshu.com/p/8e4ac7852b5a
/*        if ($this->yzm->testPhrase($userInput)) {
            // instructions if user phrase is good
            echo 'ok';
        } else {
            // user phrase is wrong
            echo 'no';
        }*/

//        验证验证码
        if ($userInput === $_SESSION['phrase']) {
            echo 'ok';
        } else {
            echo 'no';
        }

    }


}

 

 

 

 

© 著作权归作者所有

高处胜寒

高处胜寒

粉丝 9
博文 214
码字总数 148549
作品 0
西安
程序员
私信 提问
在线模拟考试系统 - PHPEMS PRO

PHPEMS面向企业的版本,精简了功能,添加了redis和分库支持。 PHPEMS在线模拟考试系统主要用于构建在线考试系统,如驾照、英语等练习系统。 PC端展示: 手机端展示:

火眼
04/10
4.7K
2
PHPEMS只支持选择题题型吗?

@简单代码 你好,想跟你请教个问题:PHPEMS系统有没有尝试主观题型自动评分模块呢,对主观题自动评分系统有什么好的推荐吗?

Sunny_Zhang
2016/07/01
433
0
phpems for php 7.0 发布

phpems for php 7.0 发布了。 该版本做了大量的修改,主要是修改了`lib/db.cls.php`和`lib/tpl.cls.php` ,当然有些书写规范问题在php的严格模式下也被测试出来了。...

海诺者
2016/05/06
3.6K
9
二次开发-如何在PHPEMS-发送短信验证码(以easy-sms为例)

第一步: 下载安装 https://packagist.org/packages/overtrue/easy-sm composer require overtrue/easy-sms 第二步: 在master.php类文件中引入 requireonce DIR_ . '/../../vendor/autoload......

高处胜寒
2018/08/04
687
1
运行PHPEMS v4.1出现以下PDO问题

@海诺者 你好,想跟你请教个问题: 按照doc说明运行如下程序,出现该问题:

秃毛熊
2017/11/16
164
1

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
11
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部