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
常用dos命令及语法
09-27
PHP中include和require区别之我见
2014-09-05
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
2017-04-12
php递归返回值的问题
2014-09-05
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
零基础的初学者怎样学习java,或者应该先学什么?
2022-03-21
学ug编程如何快速入门?
2022-03-17
PHP数组函数array
2014-09-05
学习使用C语言/C++编程的7个步骤!超赞~
2022-03-20
球球大作战汉化版下载v19.7.1 安卓版
其它手游 170.54MB
下载
葫芦侠三楼最新破解版下载v4.4.0.6 安卓版
其它手游 34.82MB
下载
葫芦侠7楼破解版免费下载v4.4.0.6安卓最新版
其它手游 34.82MB
下载
葫芦侠八楼免费版下载v4.4.0.6安卓版
其它手游 34.82MB
下载
葫芦侠3楼破解版免费下载v4.4.0.6安卓手机版
其它手游 34.82MB
下载
像素漫斗抱歉,“八神庵”是特指游戏角色的专有名词,不存在符合要求的常用同义词近义词。下载v1.00安卓版
其它手游 206.87MB
下载
葫芦侠4楼破解版游戏修改器下载v4.4.0.6安卓免费版
其它手游 34.82MB
下载
末日餐厅安卓版下载v1.35安卓版
其它手游 73.98MB
下载葫芦侠十楼免费破解版下载v4.4.0.6安卓版
下载
葫芦侠8楼最新破解版下载v4.4.0.6安卓版
下载
猫娘乐园世界连结正版下载v1.9.1 安卓版
下载
像素漫斗全员下载v1.00安卓版
下载
葫芦侠8楼手机版下载v4.4.0.6安卓版
下载
末日餐厅正版官网入口下载v1.35安卓版
下载
我的汉克狗正版下载v26.4.1.48473 安卓版
下载
像素漫斗u鼬神最新版本下载v1.00安卓版
下载