The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ 完成一个任务 ]
紧接着上面的一节,下面我们完成做任务的功能。
如果,某个时候,我们发现我们的任务已经完成了,这个时候,我们需要更新我们的任务列表。
更新我们的任务列表,位于IndexController.class.php中do_task。
- public function do_task(){
- // 判断是否已经登录
- if( $GLOBALS['___login___']===false )
- $this->E( G::L( '你没有登录' ) );
- $nTaskId= intval(Safe::getGpc( 'id' ));
- if( !empty($nTaskId) ){
- $oTask = TaskModel::F( 'task_id=?',$nTaskId )
- ->query();
- if( empty($oTask['task_id']) ){
- $this->E( '任务不存在' );
- }
- else{
- if( $GLOBALS['___login___']['user_id']!=$oTask['user_id'] ){
- $this->E( '你不能做别人的任务' );
- }
- else{
- if( $oTask['task_is_completed']==1 )
- $this->E('任务已经完成了,你不需要重复做任务!');
- $this->assign( 'oTask',$oTask );
- $this->display( );
- }
- }
- }
- else
- $this->E( '你没有选择任务' );
- }
然后,我们创建index_do_task.html,并且添加上如下的代码:
- <include file="public_header">
- <div id="content_wrapper">
- <div id="content">
- <form name="form_task" id="form_task" action="{:G::U('index/do_the_task')}" method="post">
- <fieldset>
- <p>
- <label for="task_subject">任务主题</label> <br/>
- <p style="color:blue;">{$oTask['task_subject']}</p>
- </p>
- <p>
- <label for="task_description">任务内容</label><br/>
- <p style="color:blue;">{$oTask['task_description']}</p>
- </p>
- <p>
- <input type="submit" name="Submit" value="完成任务" />
- <input type="hidden" name="id" value="{$oTask['task_id']}"/>
- <input type="hidden" name="task_is_completed" value="1"/>
- </p>
- </fieldset>
- </form>
- <p>你可以返回首页,<a href="{:G::U( 'index/index' )}">返回首页</a> </p>
- </div>
- <include file="public_sidebar">
- <include file="public_footer">
访问http://localhost/wedoit/index.php/index/do_task/id/1 后,你会看到。

接下来,我们完成逻辑代码,位于IndexController.class.php中do_the_task:
- public function do_the_task(){
- // 判断是否已经登录
- if( $GLOBALS['___login___']===false )
- $this->E( G::L( '你没有登录' ) );
- $nId = intval( Safe::getGpc( 'id' ) );
- $oTask = TaskModel::F( 'task_id=?',$nId )
- ->query();
- if( empty($oTask['task_id']) ){
- $this->E( '任务不存在' );
- }
- else{
- if( $GLOBALS['___login___']['user_id']!=$oTask['user_id'] ){
- $this->E( '你不能做别人的任务' );
- }
- else{
- $oTask->save( 0,'update' );
- if( $oTask->isError() )
- $this->E( $oTask->getErrorMessage() );
- $this->assign( '__JumpUrl__',G::U( 'index/index' ) );
- $this->S( '任务已完成' );
- }
- }
- }
}
点击提交后,我们再次访问首页后,你会发现,任务已经完成。
如图2:
