Zend Framework 教程 – 删除专辑
2012-07-19 11:25
148 查看
为了使我们的应用看起来更完整,Zend Framework 教程的最后添加一个删除专辑的功能。在前面的专辑列表中,每一张专辑右侧都有一个Delete的删除链接,有一种很不成熟的方法是在点击这个链接后专辑就会直接被删除。还记得HTTP规范吗?我们尽量不要使用GET 去执行不可逆转的删除操作,而应该用POST。
比如当用户点击了上面的delete链接后,将显示一个简单的表单,如果用户确认点了这里的“YES”按钮后,我们再去执行删除。因为这个表单很简单,我们可以不用 Zend_Form 直接在view里面写form表单的代码(当然用Zend_Form也可以)。
下面先修改控制器中的action 代码(IndexController::deleteAction()):
和add/edit action一样,我们使用Request 的 isPost() 方法决定是显示选择删除与否的表单,还是执行删除动作。使用 Application_Model_DbTable_Albums 这个model 的deleteAlbum() 方法删除数据行。如果请求不是POST, 就查找id 参数的值,并获取相应的数据库记录将它赋值给view。
view 脚本只有一个简单的form表单:
在这段代码中,给用户显示了一段确认信息,以及包含YES 和No 按钮的表单。在action中,我们检查是否提交了”YES” 值,是则执行删除。
比如当用户点击了上面的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” 值,是则执行删除。
相关文章推荐
- Zend Framework 教程 – 显示专辑列表
- Mac 基础教程:如何删除右键菜单重复项目
- Swift教程_CoreData实例(三)_构建控制层(列表数据加载、删除数据)
- Oracle教程 误添加数据文件删除方法
- Win7系统中的残留文件如何删除 win7快速清除顽固文件图文教程
- JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
- Zend Framework教程-Zend_Helpers-视图助手-常见的视图助手-Doctype、HeadLink、HeadMeta、HeadScript、HeadStyle、HeadTitle
- Zend Framework教程之Zend_Layout布局助手详解
- Zend Framework教程-Zend_Controller_Front前端控制器
- Zend Framework教程之MVC框架的Controller用法分析
- SQL SERVER2000教程-第二章-创建和管理数据库 第三节 删除数据库
- [李景山php]每天laravel[023]-laravel 中级任务--小白教程----实际操作-创建基础任务 to-do-list 案例 ---删除数据
- Zend Framework教程-Zend_Helpers-视图助手-常见的视图助手-其它
- Python中使用strip()方法删除字符串中空格的教程
- Zend Framework教程之资源(Resources)用法实例详解
- Oracle12.2 RAC集群管理之增加删除节点_Oracle12cR2视频教程(项目实战之六)
- ASP.NET MVC4 新手入门教程之九 ---9.查询详情和删除方法
- oracle教程之oracle 删除表空间
- MongoDB与PHP的扩展进行添加、修改、查询、删除等操作基础教程
- 移动硬盘删除的文件怎么免费恢复教程