zoukankan      html  css  js  c++  java
  • phpcms v9表单向导中怎么加入验证码

    在phpcms表单向导模块中创建字段时没有验证码类型去选择,所以也就无法直接使用来加入验证码了。

    对模板程序稍微进行扩展开发即可实现。具体流程如下:

    一、找到表单向导生成模板(一般默认为phpcms/templates/default/formguide/show_js.html),在大约25行form表单中插入调用验证码的代码,如下:

    <tr>
        <td><label for="code">验证码</label></td>
        <td>
        {php pc_base::load_sys_class('form', '', 0); }
        <input type="text" id="code" name="code" size="10">
        {form::checkcode('code_img', '4', '14', 100, 30)}
        </td>
    </tr>

    二、然后找到表单提交地址对应的方法(phpcms/modules/formguide/index.php里的show()方法),在其中加入验证验证码是否正确的程序即可。代码示例如下:

    找到大约第51行,有一句:

    if (isset($_POST['dosubmit'])) {

    //启动session一定要在此句之后的if判断大括号中写:

    //启动session
    $session_storage = 'session_'.pc_base::load_config('system','session_storage'); pc_base::load_sys_class($session_storage); //验证码 if (($_SESSION['code'] != strtolower($_POST['code'])) || empty($_SESSION['code'])) { showmessage("验证码错误"); } else { $_SESSION['code'] = ''; }

    PS: OK,如此便可以实现前端调用验证码后台进行验证了。希望以上对你有帮助。

    其实“在前端模板对应位置调用form类的checkcode方法生成验证码在后台对应控制器进行验证”的思路适用于phpcms的所有功能模块不只是表单向导模块;如果对phpcms二次开发与使用不熟悉建议查看官方手册与 iphpcms的全面视频教程,本次回答就参考了iphpcms百问百答中的《在phpcms模板页面中如何调用验证码以及实现验证码验证》一文。

  • 相关阅读:
    hdu-5761 Rower Bo(数学)
    hdu-5754 Life Winner Bo(博弈)
    hdu-5753 Permutation Bo(概率期望)
    hdu-5752 Sqrt Bo(水题)
    hdu-5749 Colmerauer(单调栈)
    svn使用教程
    less
    springmvc 孔浩 hibernate code
    springmvc 开涛 生产者/消费者
    springmvc 开涛 拦截器
  • 原文地址:https://www.cnblogs.com/quietxin/p/9071736.html
Copyright © 2011-2022 走看看