• thinkphp3.2 实现留言功能


    写一个例子说明一下:

    前端:http://www.mmkb.com/zhendao/index/feedback.html

    <form method="post"  action="{:U('validate')}" name='valiate'>    <!--这里传到控制器的validate方法-->
                    <li class="clearfix">
                        <p class="p1">
                            <span><i>*</i>标题</span><input type="text" name="title" />
                        </p>
                        <p>
                            <span><i>*</i>姓名</span><input type="text" name="name" />
                        </p>
                    </li>
                    <li class="clearfix">
                        <p class="p1"><span><i>*</i>电话</span><input type="text" name="phone" /></p>
                        <p>
                            <span><i>*</i>邮箱</span><input type="text" name="email" />
                        </p>
                    </li>
                    <li>
                        
                            <span class="span_nei"><i>*</i>内容</span>
                            <textarea name="content" rows="7" cols=""></textarea>
                            
                    </li>
                    <li class="clearfix yan_li">
                     <span><i>*</i>验证码</span><input type="text" name="code" />
                        <img onClick="this.src=this.src+'?'+Math.random();" title="看不清,换一张?" class="verifyimg reloadverify" alt="点击切换" src="{:U('verify')}"   />
    
    
                    </li>
                    <li class="btn">
                        <input name="tj" type="submit" class="button" value="提交">
    
                        &nbsp;
                        <!--<a href="">重置</a>-->
                        
                        
                    </li>
                    </form>

    表单传到控制器,控制器获取post值,判断是否有空值,有则输出错误信息,之后在判断传的值和验证码是否相同,然后判断.

    <?php
    namespace ZhendaoController;
    use ThinkController;
    class IndexController extends Controller {
    
        public function verify(){
    
            $config =    array(
                'fontSize'    =>    30,    // 验证码字体大小
                'length'      =>    4,     // 验证码位数
            );
    
            $verify = newThinkVerify($config);
            $verify->entry();
    
        }
        public function validate(){
            $date['v_title'] = I('post.title');
            $date['v_name'] = I('post.name');
            $date['v_phone'] = I('post.phone');
            $date['v_email'] = I('post.email');
            $date['v_content'] = I('post.content');
            $yzm = I('post.code');
    
            $fkyz = D("Validate");
    
            if (!$fkyz->create()){
                // 如果创建失败 表示验证没有通过 输出错误提示信息
                exit($fkyz->getError());
    
            }else{
                // 验证通过 可以进行其他数据操作
                $verify = new ThinkVerify();
                $yzmyz = $verify->check($yzm);
    
                if(!$yzmyz){
    
                    $this->error('验证码错误','feedback',3);
    
                }else{
                    $validate = M("validate");
                    $validate->add($date);
                    $this->success('添加成功','feedback',3);
    
                }
            }
    
    }

    还有一个model类:

    <?php
    namespace ZhendaoModel;
    use ThinkModel;
    class ValidateModel extends Model{
        protected $_validate = array(
    
            array('title','require','标题必须!'),
            array('name','require ','姓名必须!'),
            array('phone','require','手机必须!'),
            array('email',' require','邮箱必须!'),
            array('content','require','内容必须!'),
        );
    }

    这样就完成了

  • 相关阅读:
    59
    58
    57
    56
    55
    54
    53
    转 Using $.ajaxPrefilter() To Configure AJAX Requests In jQuery 1.5
    jquery用正则表达式验证密码强度
    什么是高内聚、低耦合?(转载)
  • 原文地址:https://www.cnblogs.com/shenzikun1314/p/7201850.html
Copyright © 2020-2023  润新知