为了使我们的应用看起来更完整,Zend Framework 教程的最后添加一个删除专辑的功能。在前面的专辑列表中,每一张专辑右侧都有一个Delete的删除链接,有一种很不成熟的方法是在点击这个链接后专辑就会直接被删除。还记得HTTP规范吗?我们尽量不要使用GET 去执行不可逆转的删除操作,而应该用POST。
比如当用户点击了上面的delete链接后,将显示一个简单的表单,如果用户确认点了这里的“YES”按钮后,我们再去执行删除。因为这个表单很简单,我们可以不用Zend_Form 直接在view里面写form表单的代码(当然用Zend_Form也可以)。
下面先修改控制器中的action 代码(IndexController::deleteAction()):
zf-tutorial/application/controllers/IndexController.php
...
public function deleteAction()
{
if ($this->getRequest()->isPost()) {
$del = $this->getRequest()->getPost('del');
if ($del == 'Yes') {
$id = $this->getRequest()->getPost('id');
$albums = new Application_Model_DbTable_Albums();
$albums->deleteAlbum($id);
}
$this->_helper->redirector('index');
} else {
$id = $this->_getParam('id', 0);
$albums = new Application_Model_DbTable_Albums();
$this->view->album = $albums->getAlbum($id);
}
}
...
和add/edit action一样,我们使用Request 的 isPost() 方法决定是显示选择删除与否的表单,还是执行删除动作。使用 Application_Model_DbTable_Albums 这个model 的deleteAlbum() 方法删除数据行。如果请求不是POST, 就查找id 参数的值,并获取相应的数据库记录将它赋值给view。
view 脚本只有一个简单的form表单:
zf-tutorial/application/views/scripts/index/delete.phtml
<?php
$this->title = "Delete album";
$this->headTitle($this->title);
?>
<p>Are you sure that you want to delete
'<?php echo $this->escape($this->album['title']); ?>' by
'<?php echo $this->escape($this->album['artist']); ?>'?
</p>
<form action="<?php echo $this->url(array('action'=>'delete')); ?>" method="post">
<div>
<input type="hidden" name="id" value="<?php echo $this->album['id']; ?>" />
<input type="submit" name="del" value="Yes" />
<input type="submit" name="del" value="No" />
</div>
</form>
在这段代码中,给用户显示了一段确认信息,以及包含YES 和No 按钮的表单。在action中,我们检查是否提交了”YES” 值,是则执行删除。
分享到:
相关推荐
PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好...
Zend Framework 入门教程(简体中文1.52版)v0.12.pdf MD5: 767F31B21311D6431EA757B9D496FD51 SHA1: 06E81BDD16DA52976898310A50395FCB7DF81AF7 CRC32: 01FFFE67 Zend Framework入门教程中文版.pdf MD5: DF70A9C9B...
Zend Framework 2 官方教程汉化版
Zend Framework入门教程中文版 pdf格式的
Table of Contents •Introduction to Zend Framework •Overview •Installation •Learning Zend Framework •Zend Framework Quick Start •Autoloading in Zend Framework •Plugins in Zend Framework •...
Whether you are learning Zend framework from scratch or looking to sharpen up your skills from previous versions, Zend Framework 2 Application Development will help you to harness the power of Zend ...
本资料为Zend Framework2 入门教程,主要讲述如果入门Zend Framework2。教程内容比较普实。
今天我这里要写的入门教程就是Zend Framework 2 的,如果有需要Zend Framework 1 的网友可以在百度搜索 lai1362000 或lai1362000@yahoo.com.cn 的相关文章 下面正式开始介绍一个简单的入门程序,程序有2 个模块,3 ...
Zend Framework实例教程.pdf格式
Zend Framework 框架开发入门教程。
zend framework1.0 中文教程
ZendFramework-1.10.4
PHP官网推荐MVC框架教程,文档。是学习PHP zend framework框架的绝佳教材。
这是 Zend Framework 的非常经典的入门教程,它的原作者 Rob Allen 是《Zend Framework In Action》一书的作者。在翻译这个版本之前,只知道 Jason Qi 翻译的 0.9 版(实际内容是关于 Zend Frame 0.6
zend framework中英文手册,包含中文手册,英文手册两个版本。
zend framework zendframework manual 手册,Zend Framework手册 中文版,有一部分还没有汉化
PHP 准官方框架:Zend Framework 2 基础教程
1. Introduction to Zend Framework 1.1. 概述 1.2. 安装 2. Zend_Acl 2.1. 简介 2.1.1. 关于资源(Resource) 2.1.2. 关于角色(Role) 2.1.3. 创建访问控制列表(ACL) 2.1.4. 注册角色(Role) 2.1.5. 定义访问...
这是基于Zend Framework 框架的CMS PHP 源代码。 安装时请下载Zend及zendx并将其放在library下。
zend framework zend framework zend framework zend framework zend framework zend framework zend framework