面向对象的PHP在函数成功后将消息传递给用户
我是OO php新手,所以这看起来很基本 基本上我有一个用户可以预订的课程列表。我已经得到了它,用户可以从他们的列表中删除课程,但我希望在他们删除后向他们显示一条消息。我在这里做了一些类似的事情:面向对象的PHP在函数成功后将消息传递给用户,php,forms,oop,post-redirect-get,Php,Forms,Oop,Post Redirect Get,我是OO php新手,所以这看起来很基本 基本上我有一个用户可以预订的课程列表。我已经得到了它,用户可以从他们的列表中删除课程,但我希望在他们删除后向他们显示一条消息。我在这里做了一些类似的事情: <form name="removecourse" action="<?php bloginfo('url');?>/user/<?php echo $current_user->first_name ; ?>" method="post"> <inpu
<form name="removecourse" action="<?php bloginfo('url');?>/user/<?php echo $current_user->first_name ; ?>" method="post">
<input type="hidden" value="<?php the_id();?>" name="courseid" />
<input id="removebutton" type="submit" name="removecourse" value="Remove">
</form>
这就是类和对象部分的用武之地
public $delete_response;
function delete_post($postid, $reason){
//stuff to actually delete the post
$this->delete_response = 'Thanks, your course has been removed.';
}
因此,我在这里向delete_响应变量添加一个值,并在页面顶部调用它。这是可行的,但是当我刷新页面时,当我重新提交帖子时,消息仍然存在。我只是想知道我所做的是否正确,以及如何实现Post/Redirect/Get类型功能以阻止消息出现在页面刷新上?您必须检查,或者您的课程已经被删除,是否简单:) 您再次显示它是因为:
if(isset($_POST['removecourse']) && !empty($_POST['removecourse'])){
//is always true when posted again.
}
您必须检查存在性
isset($\u POST['removecourse')&&!空($\u POST['removecourse'])
==!空(['removecourse'])
因为empty
包括检查变量是否已设置。所以你说我必须检查我的课程是否已被删除?这将需要一个DB查询或类似的东西是的??实际上你需要检查它,每个人都是这样做的。dbquery并不那么耗时。
if(isset($_POST['removecourse']) && !empty($_POST['removecourse'])){
//is always true when posted again.
}