[thinkPHP5项目实战_18]友情链接界面搭建和数据添加

类似于添加栏目和文章完善添加友情链接的功能

分别新建友情链接link对应的视图模板、控制器和验证器文件:


打开phpmyadmin,新建tp5_link数据表储存链接信息:


修改侧边栏导航sidebar.html文件,添加友情链接列表导航

<li><a href="{:url('link/lists')}">友情链接</a></li>

在友情链接列表模板Link/lists.html中添加新增链接跳转

<a href="{:url('link/add')}"><i class="icon-font"></i>新增链接</a>
新建Link/add.html文件作为增加模板,友情链接的四个字段分别为id,链接题目title,链接url地址url,链接描述desc

post提交方式,默认提交到当前控制器的当前操作方法

<form action="" method="post" id="myform" name="myform" enctype="multipart/form-data">
    <table class="insert-tab" width="100%">
        <tbody>
            <tr>
                <th width="10%">链接名称:</th>
                <td>
                    <input class="common-text required" id="title" name="title" size="50" value="" type="text">
                </td>
            </tr>
            <tr>
                <th>链接地址:</th>
                <td>
                    <input class="common-text" name="url" size="50" value="" type="text">
                </td>
            </tr>
            <tr>
                <th>链接描述:</th>
                <td>
                    <textarea name="desc" class="common-textarea" id="desc" cols="30" style="width: 98%;" rows="10"></textarea>
                </td>
            </tr>
            <tr>
                <th></th>
                <td>
                    <input class="btn btn-primary btn6 mr10" value="提交" type="submit">
                    <input class="btn btn6" οnclick="history.go(-1)" value="返回" type="button">
                </td>
            </tr>
        </tbody>
    </table>
</form>

新建validate/Link.php验证器

需要验证链接标题,链接地址的格式:

<?php
namespace app\admin\validate;

use think\Validate;

class Link extends Validate
{
    //验证规则
    protected $rule = [
        'title'  =>  'require|max:25|unique:link',
        'url' => 'require|url',
    ];
    //验证提示
    protected $message  =   [
        'title.unique' => '链接名称不能重复', 
        'title.max' => '链接名称不能大于5个字符',
        'title.require' => '链接名称必须',
        'url.require' => '链接地址必须',
        'url.url' => '无效的url地址',
    ];
}

新建controller/Link.php作为链接模板的控制器

<?php
namespace app\admin\controller;
use think\Controller;
class Link extends Controller
{
    public function lists()
    {
        return $this->fetch();
    }

    public function add()
    {
    	if(request()->isPost()){
            $data = [
                'title'=>input('title'),
                'url'=>input('url'),
                'desc'=>input('desc'),
            ];
            $validate = \think\Loader::validate('Link');
            if($validate->check($data)){
                $res = \think\Db::name('link')->insert($data);
                if($res){
                    return $this->success('添加链接成功','lists');
                }else{
                    return $this->error('添加链接失败');
                }
            }else{
                return $this->error($validate->getError());
            }
    		return;
    	}
        return $this->fetch();
    }
}
最终效果如下:


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值