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','内容必须!'),
    );
}

这样就完成了

原文地址:https://www.cnblogs.com/shenzikun1314/p/7201850.html