一个前端写的php博客系统3--文章的修改和删除

本文介绍了一个简单的PHP博客系统的实现过程,包括文章的编辑、更新及删除等功能,并提供了相应的控制器和视图代码。

部署的地址

我的博客地址:http://www.weber.pub/
github 地址:https://github.com/baiyuming/byblog

文章的修改

文章的修改需要两步,第一步读取文章,第二步更新文章,更新完成后返回文章列表页

  • 读取博客控制器

//编辑博客方法
public function edit($id=0){
    $Article   =   M('Article');
    $this->assign('data',$Article->find($id));
    $this->display();
}
  • 更新文章控制器

// 更新博客
public function update(){
    $Article = M("Article");
    $time = I('post.a_time')?strtotime(I('post.a_time')):time();
    $data = array (
        'a_id' => I('post.a_id'),
        'a_title' => I('post.a_title'),
        'a_keyword' => I('post.a_keyword'),
        'a_remark' => I('post.a_remark'),
        'a_content' => I('post.a_content'),
        'a_time' => $time,
    );

    if($Article->save($data)) { // 根据条件保存修改的数据
        $this->success('编辑成功!','listA');
    }else{
        $this->error('编辑失败!');
    }
}

上面的方法中有对文章发表时间的判断,如果不填则默认是当前时间,如果填写就按照填写时间存入。

  • 页面代码
    这里仍然使用了markdown 编辑器。。。

<form class="col s12 pt-60" method="post" action="__URL__/update">
    <input type="hidden" name="a_id" value="{$data.a_id}">
    <div class="row">
        <div class="col s9">
            <div class="row">
                <div class="input-field col s12">
                    <input id="title" name="a_title" type="text" class="validate" value="{$data.a_title}">
                    <label for="title">文章标题</label>
                </div>
            </div>
            <div class="row">
                <div class="input-field col s12">
                    <input id="remark" name="a_remark" type="text" class="validate" value="{$data.a_remark}">
                    <label for="remark">文章描述</label>
                </div>
            </div>
            <div class="row">
                <div class="input-field col s12">
                    <p class="f-16 c-999">文章内容</p>
                    <textarea name="a_content" id="textarea" class="materialize-textarea">{$data.a_content}</textarea>
                </div>
            </div>
        </div>
        <div class="col s3">
            <div class="row">
                <div class="input-field col s12">
                    <input id="keyword" name="a_keyword" type="text" class="validate" value="{$data.a_keyword}">
                    <label for="keyword">标签(关键字)</label>
                </div>
            </div>
            <div class="row">
                <div class="input-field col s12">
                    <input id="a_time" name="a_time" type="text" class="validate" value="20{$data.a_time|date='y/m/d H:i',###}">
                    <label for="a_time">时间</label>
                </div>
            </div>
            <button class="btn waves-effect waves-light" type="submit" name="action">更新文章
                <i class="by bym-feiji right"></i>
            </button>
        </div>
    </div>
</form>

文章的删除

删除功能就直接做在了列表页

  • 控制器代码

public function del($id=0){
    // 实例化Article对象
    $Article = M("Article"); 
    //根据id删除
    $Article->where('a_id = '.$id)->delete();
    if($Article) { // 根据条件保存修改的数据
        $this->success('文章已删除!',"../../listA");
    }else{
        $this->error('删除失败!');
    }
}
  • 页面代码

<volist name="list" id="vo">
    <tr>
        <td class="f-18" width="75%">{$vo.a_title} <span class="f-12 c-999">20{$vo.a_time|date="y/m/d H:i",###}</span></td>
        <td width="25%">
            <a href="{:U('Admin/Blog/edit/id/'.$vo['a_id'])}" class="waves-effect waves-light btn mr-lg">编辑</a>
            <a href="#modal{$vo.a_id}" class="modal-trigger waves-effect waves-light btn">删除</a>
            <div id="modal{$vo.a_id}" class="modal">
                <div class="modal-content">
                    <h4>确定删除</h4>
                    <p>{$vo.a_title} 这篇文章????</p>
                </div>
                <div class="modal-footer">
                    <a onclick="$('.modal').closeModal();" class="waves-effect waves-light btn ml-lg ">取消</a>
                    <a href="{:U('Admin/Blog/del/id/'.$vo['a_id'])}" class="waves-effect waves-light btn red">确定</a>
                </div>
            </div>
        </td>
    </tr>
</volist>

这里使用 模态框 让用户选择确定是否删除。。。

写在后面

这个简单的博客系统基本功能算是已经完善了,但是其中还有很多值得优化和修改的地方。。。比如有朋友建议的url优化等,在这里表示感谢,后续会继续优化,当然也会加入一些好玩的东西,其他的一些功能基本也就是增删改查,扩展起来应该不难。。。

另外2篇博文地址

一个前端写的php博客系统--支持markdown哦

一个前端写的php博客系统2--前台展示+后台登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值