2015-05-27
大家写网站的时候可能都会遇到这种情况,就是写一个表单,这个表单是用来添加一篇文章的,我们屁颠屁颠的在后台接收数据,然后存入数据库.现在有个问题.当你要对该文章进行修改的时候,你是怎么处理的?
我的方法是在同一个表单中做文章,下面的例子是我用 Thinkphp框架写的代码,如果你不懂Thinkphp,没有关系,我只是想说说我的解决方案.
前台如果是这样的.
说明,表示提交到article控制器的add方法.进行接收操作.
就是这样一个简单的表单,
我们在后台直接接收数据.
public function add{
if(IS_POST){
//这里其实可以使用在按钮上加一个name="submit"属性.然后使用if(isset($_POST['submit'])来判断post提交.
$title = $_POST['title'];
$content = $_POST['content'];
if($title&&$content){
//插入数据.
$flag = 模型->add(post 过来的数据.);
if($flag) $str = "成功";
else $sttr="失败";
}else{
$str = "失败,标题或者内容不能为空!";
$this->error($str,U('article/index'));
exit;
}
//返回操作结果.
$this->success("添加".$str,U('article/index')); //跳转到文章列表 页
exit;
}
$this->display();//如果不是提交,则显示我们的模板.
}
操作成功失败,跳回添加页面.这里注意一点,我在有些地方添加了一个exit 结构.主要是因为如果不加,会显示下面的模板文件.因为我没有用在那个if(IS_POST)后面加else.
//好,如果要进行修改.我们通过url连接,将其指向article 控制器的add方法,将id传递过去.,也就是上面的方法.
表单中,我们需要这样修改.
我在表单中添加了一个隐藏域.如果有那个变量,则添加该id
后台处理页面.
public function add{
if(IS_POST){
$title = $_POST['title'];
$content = $_POST['content'];
if($title&&$content){
//插入数据.
//这里我先建立一个数组,将数据放入
$data = array(
'title' => $title,
'cntent'=> $content
);
if($id = $_POST['id']){
//表示有id...
$flag = 模型修改数据;
}else{
$flag = 模型添加数据;
$type = "添加";
}
if($flag) $str = "成功";
else $sttr="失败";
}else{
$str = "失败,标题或者内容不能为空!";
$this->error($str,U('article/index'));
exit;
}
//返回操作结果.
$this->success($type.$str,U('article/index')); //跳转到文章列表 页
exit;
}
//这里模板输出我们同样要注意.
if($id = $_GET['id']){
$this->ret = 模型通过$id 查询数据,放入模板中.
}
$this->display();//如果不是提交,则显示我们的模板.
}
好吧,逻辑比较混乱...下面拓展一点,如果有附件之类的呢?该如何处理呢.其实原理类似.只是你必须判断是否有附件提交过来. 使用 if($_FILES['file']['name'])来判断,因为如果只写if($_FILES['file'])是不能判断确实有附件提交过来的.因为如果没有附件,该数组不为空,而是Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 )这样的内容.这个在if判断语句中当然是为真了.
所以我们要加上名字来判断...
好了,说了一堆渣渣,谢谢你能看完.
May it helpful to you .
Best Wishes.
1
CI框架连接数据库配置操作以及多数据库操作
09-05
2
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
05-17
3
C语言关键字及其解释介绍 C语言32个关键字详解
04-05
4
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
04-26
5
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
09-05
6
将视频设置为Android手机开机动画的教程
12-11
7
PHP中的(++i)前缀自增 和 (i++)后缀自增
09-05
8
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
04-12
常用dos命令及语法
2014-09-27
PHP中include和require区别之我见
2014-09-05
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
php递归返回值的问题
2014-09-05
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
学ug编程如何快速入门?
2022-03-17
PHP数组函数array
2014-09-05
学习使用C语言/C++编程的7个步骤!超赞~
2022-03-20
零基础的初学者怎样学习java,或者应该先学什么?
2022-03-21
收割者剑客传奇免谷歌汉化版下载v2.0.1 安卓版
其它手游 40.19MB
下载
reaper收割者破解版下载v2.0.1 安卓完美版
其它手游 40.19MB
下载
reaper汉化版下载v2.0.1 安卓中文版
其它手游 40.19MB
下载
死神苍白剑士的传说中文版(Reaper)下载v2.0.1 安卓版
其它手游 40.19MB
下载
宝宝巴士迷宫小镇下载v9.89.99.01 官方安卓版
其它手游 113.4MB
下载
宝宝迷宫大作战游戏下载v9.89.99.01 安卓版
其它手游 113.4MB
下载
宝宝巴士干净的妙妙游戏下载v9.89.99.00 安卓版
其它手游 76.43MB
下载
妙妙爱干净宝宝巴士下载v9.89.99.00 安卓版
其它手游 76.43MB
下载翻炒厨师游戏下载v2.1.3 安卓版
下载
维塔战士游戏最新版下载v976 安卓版
下载
泡泡小镇城堡游戏下载v1.1.5 安卓完整版
下载
3d蚊子模拟器游戏最新版下载v2023.08.22 安卓版
下载
超级机器人英雄游戏下载v1.1.3 安卓版
下载
robot super游戏下载v1.1.3 安卓版
下载
zombie tsunami游戏下载v4.6.8 安卓版
下载
2026僵尸尖叫正版下载v4.6.8 安卓官方版
下载