Maison >développement back-end >tutoriel php >php在同一个表单中添加和修改数据的方法_PHP教程
我不知道大家是怎样实现的.下面我分享一下我的方法吧.
在页面中我是这样实现的.
我在后台进行添加操作.
首先我们再开始接收数据.如title,content的内容.判断内容是否为空,为空直接返回.
如果有我们需要判断一下是否有附件,如果有附件的话,我们先通过程序将其移动到项目的uploads文件夹中,
如果失败的话,我们就直接返回了.
好,上程序.
if(IS_POST){
$title = $_POST['title'];
$content = $_POST['content'];
if($title&&$content){
if($_FILES['file']['name'])
//开始对提交的附件进行处理.
如果成功,则可以得到我们附件的名称和上传的地址等信息,看你需要什么
如果失败的话
返回错误.
}
$arr = array(
'title' => $title,
'content' => $content;
'filename' => ///
'filepath' => ///
);
$flag = 进行插入操作..
if($flag) $str = "成功";
else $str = "失败";
$this->success("添加".$str,//跳到列表路由中.);
}
}//end of post.
//下面是模板内容....
现在我们如果是要修改该内容的话.
我想到了一个方法..
在页面中,如果有附件,我们显示图片的名称.如果需要修改,我们就将file的提交框显示出来..
我只写关键部分了哈..
搞定了...这样在前台还是比较美观的吧...
后台的逻辑有点复杂了..
首先你要判断是否有附件,如果没有,你就不能往数据库里面写入空值,如果数据库里本来有,现在用户没有修改附件,如果统一的往数据库里面写内容.则会覆盖..
我说下我的思路.
首先还是判断title,content是否为空.
如果不为空,判断是否有附件,如果有附件,我们就进行统一的接收操作.
if(IS_POST){
$title = $_POST['title'];
$content = $_POST['content'];
if($title&&$content){
//这里我们先定义一个数组..
$data = array();
if($_FILES['file']['name'])
//开始对提交的附件进行处理.
如果成功,则可以得到我们附件的名称和上传的地址等信息,看你需要什么
如果失败的话
返回错误.
成功
$data['filename'] = //文件名
$data['filepath'] = //文件路径.
}
$arr = array(
'title' => $title,
'content' => $content
);
if(!$_POST['id']){
$flag = 进行插入操作..
$type = "添加";
}else{
$flag = 进行修改操作.
$type = "修改";
}
if($flag) $str = "成功";
else $str = "失败";
$this->success($type.$str,//跳到列表路由中.);
}
}//end of post.
//下面是模板内容....