使用PHPEMS6.1开源考试系统体验

warning: 这篇文章距离上次修改已过463天,其中的内容可能已经有所变动。

介绍:

非常好用流行的一个在线考试系统使用手册,php开发,支持二次开发。强力的在线培训考试系统PHPEMS(PHP Exam Management System)在线模拟考试系统基于PHP+Mysql开发,支持多种题型和展现方式,是国内首款支持题冒题和手自动一体评分的PHP在线模拟考试系统。官网:http://www.phpems.net 项目地址(官网也可下载):https://github.com/phpems/phpems/
安装:

1、PHP环境,推荐使用集成环境(省事),各个组件都有,我用的是phpstudy,最新版本改名字:小皮系统,网址xp.cn;

2、需要注意:phpems官网给的安装环境建议是 运行环境:PHP5.3-7.0 MYSQL:5.5+,但我在实际使用中php版本需要排除 php5.6.9nts(发现使用这个版本在查看试卷时无法获取数据),在这边吃了大亏。

1371745-20210701142933038-1876263028.png1371745-20210701142933038-1876263028.png

3、环境好了以后,创建数据库exam,导入sql文件,修改根目录下lib/config.inc.php 文件,输入网址即可访问。默认管理员用户名/密码:peadmin/peadmin

/** 数据库设置 */
define('SQLDEBUG',1);
define('DB','exam');//MYSQL数据库名
define('DH','127.0.0.1');//MYSQL主机名,不用改,如果数据库默认端口不是3306,在地址后加:端口号
define('DU','root');//MYSQL数据库用户名
define('DP','root');//MYSQL数据库用户密码
define('DTH','x2_');//系统表前缀,不用改

遇到问题:

1、管理界面->财务->代金券管理里,默认项目代码里,当代金券使用后是无法获取使用人和使用时间,需要修改代码如下:

1371745-20210701144006819-1514046015.png1371745-20210701144006819-1514046015.png

通过 url找到payfor.tpl文件中 form标签中 action="index.php?exam-app-basics-coupon" 找到 app/exam模块中找到basics-app控制器里coupon方法修改 useCouponById这个方法即可。

<form aria-hidden="true" id="myModal" method="post" class="modal fade" role="dialog" aria-labelledby="#myModalLabel" action="index.php?exam-app-basics-coupon">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button aria-hidden="true" class="close" type="button" data-dismiss="modal">×</button>
                <h4 class="modal-title" id="myModalLabel">代金券充值</h4>
            </div>
            <div class="modal-body" id="modal-body">
                <div class="control-group">
                    <div class="controls">
                        <input type="text" class="form-control" name="couponsn" placeholder="请输入16位代金券号码" value="" needle="needle" msg="请输入16位代金券号码"/>
                    </div>
                </div>
            </div>
            <div class="modal-footer">
                <input name="coupon" type="hidden" value="1">
                <button class="btn btn-primary" type="submit">充值</button>
            </div>
        </div>
    </div>
</form>

最终找到app\bank\cls coupon.cls.php这个文件修改如下:

    public function useCouponById($id,$userid)
    {
        $r = $this->getCouponById($id);
        if(!$r)return false;
        if($r['couponstatus'])
        return 301;
        elseif($r['couponendtime'] < TIME)
        return 302;
        else
        {
            $user = $this->G->make('user','user');
            if($r['couponvalue'] < 0)$r['couponvalue'] = 0;
            $u = $user->getUserById($userid);
            $coin = $u['usercoin'] + $r['couponvalue'];
            $args = array('usercoin' => $coin);
    
            $user->modifyUserInfo($userid,$args);

            $args = array('couponstatus' => 1,'couponusername' => $u['username'],'couponusetime' => TIME); //新增插入用户名和完成时间

            $data = array('coupon',$args,array(array("AND","couponsn = :couponsn",'couponsn',$id)));
            $sql = $this->pdosql->makeUpdate($data);
            $this->db->exec($sql);
            return 200;
        }
    }

2、就是安装问题,PHP版本排除使用php5.6.9nts版本;

3、建议:专题模块要是能提供下专题模板就好了,当然如果懂点前端和后端开法,可以自定义。
总结:

总体非常感谢phpems将自己辛苦开发的项目,开发给我们使用,这个系统简化了我们很多工作!

添加新评论

选择表情