• 夺命雷公狗ThinkPHP项目之----企业网站12之文章添加的实现


    我们现在就开始写文章添加了,居然是添加当然布列外,我们还是要先讲模版搞定再说被:

    <!doctype html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>后台管理</title>
        <link rel="stylesheet" type="text/css" href="__PUBLIC__/Admin/css/common.css"/>
        <link rel="stylesheet" type="text/css" href="__PUBLIC__/Admin/css/main.css"/>
        <script type="text/javascript" src="__PUBLIC__/Admin/js/libs/modernizr.min.js"></script>
        <script type="text/javascript" src="__PUBLIC__/Admin/js/jq18m.js"></script>
        <script type="text/javascript" src="__PUBLIC__/Admin/js/hileft.js"></script>
        
        
            <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Ueditor/ueditor.config.js"></script>
            
            <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Ueditor/ueditor.all.min.js"></script>
            <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Ueditor/lang/zh-cn/zh-cn.js"></script>
        
    
    
        
    </head>
    <body>
    
    <include file="Public/header" />
    
    <div class="container clearfix">
        <include file="Public/left" />
        <!--/sidebar-->
        <div class="main-wrap">
    
            <div class="crumb-wrap">
                <div class="crumb-list"><i class="icon-font"></i><a href="/jscss/admin/design/">首页</a><span class="crumb-step">&gt;</span><a class="crumb-name" href="/jscss/admin/design/">作品管理</a><span class="crumb-step">&gt;</span><span>新增作品</span></div>
            </div>
            <div class="result-wrap">
                <div class="result-content">
                    <form action="" method="post" id="myform" name="myform" enctype="multipart/form-data">
                        <table class="insert-tab" width="100%">
                            <tbody>
                            
                                <tr>
                                    <th><i class="require-red">*</i>文章标题</th>
                                    <td>
                                        <input class="common-text required" id="title" name="ar_title" size="50" value="" type="text">
                                    </td>
                                </tr>
                                
                                <tr>
                                    <th><i class="require-red">*</i>文章作者</th>
                                    <td><input class="common-text" name="ar_author" size="50" value="admin" type="text"></td>
                                </tr>
                                
                                
                                <tr>
                                    <th>文章压缩图</th>
                                    <td><input name="ar_pic" id="" type="file"><!--<input type="submit" onclick="submitForm('/jscss/admin/design/upload')" value="上传图片"/>--></td>
                                </tr>
                                
                                <tr> 
                                <th width="120"><i class="require-red">*</i>上级分类:</th>
                                <td>
                                    <select name="ar_cateid" id="catid" class="required">
                                        <option value="" >请选择</option>
                                    <volist name="cate" id="vo">
                                        <option value="{$vo['cate_id']}">{$vo['level']|str_repeat="&nbsp;&nbsp;&nbsp;",###} {$vo['cate_name']}</option>
                                    </volist>
                                        
                                    </select>
                                </td>
                            </tr>
                                
                                
                                <tr>
                                    <th>是否推荐:</th>
                                    <td>
                                        已推荐:<input type="checkbox" name="ar_rem" value="0" /> <br />
                                        未推荐:<input type="checkbox" name="ar_rem" value="1" />
                                    </td>
                                </tr>
                                
                                
                                <tr>
                                    <th>文章内容:</th>
                                    <td>
                                        <textarea id="content" name="ar_content"></textarea>
                                    </td>
                                </tr>
                                
                                <tr>
                                    <th></th>
                                    <td>
                                        <input class="btn btn-primary btn6 mr10" value="提交" type="submit">
                                        <input class="btn btn6" onclick="history.go(-1)" value="返回" type="button">
                                    </td>
                                </tr>
                            </tbody></table>
                    </form>
                </div>
            </div>
    
        </div>
        <!--/main-->
    </div>
    <script type="text/javascript">
        UE.getEditor('content',{initialFrameWidth:890,initialFrameHeight:550});
        //initialFrameWidth: null 这样就是他自动设置大小
    </script>
    <style type="text/css">
        #edui2 div{
            height:25px;
        }
    </style>
    </body>
    </html>

    这里涉及到百度编辑器的引入了噢,嘻嘻。。。

    然后直接开始写控制器了:

    public function add(){
            $cate = D('Category')->catTree();
            $this -> assign('cate',$cate);
            if(IS_POST){
                $data['ar_title'] = I('ar_title');
                $data['ar_author'] = I('ar_author');
                $data['ar_rem'] = I('ar_rem');
                $data['ar_content'] = I('ar_content');
                $data['ar_cateid'] = I('ar_cateid');
                $data['ar_time'] = time();
                if($_FILES['ar_pic']['tmp_name']!=''){
                    $upload = new ThinkUpload();// 实例化上传类
                    $upload->maxSize   = 3145728 ;// 设置附件上传大小
                    $upload->exts      = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
                    $upload->rootPath  = './';  //这个一定要加否则很容易中招
                    $upload->savePath  =      'Public/Uploads/'; // 设置附件上传目录
                    $info   =   $upload->uploadOne($_FILES['ar_pic']);
                    if($info){
                        //这里组装sql语句,让图片融入$data['pic']里面
                        $data['ar_pic'] = $info['savepath'].$info['savename'];
                    }else{
                        $this->error($upload->getError());
                    }
                }
                $amod = D("Article");
                if($amod->create($data)){
                    if($amod->add()){
                        $this->success('添加文章成功',U('Article/lists'));
                    }else{
                        $this ->error('添加文章失败');
                    }
                }else{
                    $this -> error($amod->getError());
                }    
                return;    
            }
            $this -> display();
        }

    因为我们涉及到Model层,所以我们在控制器里用了大 D 方法,model层代码如下所示:

    <?php
        namespace AdminModel;
        use ThinkModel;
        class ArticleModel extends Model{
            protected $_validate = array(
                //array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),
                array('ar_title','require','文章标题不能为空!',1,'regex',3), //默认情况下用正则进行验证,
                //这里的1是必须验证
                //regex正则验证,定义的验证规则是一个正则表达式(默认)
                //3全部情况下验证
                array('ar_author','require','文章作者不能为空!'), 
                array('ar_cateid','require','所属栏目不能为空!'), 
                array('ar_content','require','文章内容不能为空!'), //默认情况下用正则进行验证
            );
        }

    我们即可实现文章的添加了。。。。

  • 相关阅读:
    Postmanapi接口自动化局限性
    爱加密加固产品原理分析_定制版
    白话文理解DCT离散余弦变换
    mysql like使用预编译
    【Jenkins】jenkins控制台/生成的日志文件 中文乱码
    【Python】连接Linux并执行命令
    【Java】时间转换(可用于计算耗时场景)
    【Java】List去重 / 删除ArrayList中重复元素,保持顺序 / 提取两个list中不同的元素
    【Java】读取文本文件
    【Python】文件转码/编码/解码/utf8
  • 原文地址:https://www.cnblogs.com/leigood/p/5427734.html
Copyright © 2020-2023  润新知