Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
面向对象的PHP在函数成功后将消息传递给用户_Php_Forms_Oop_Post Redirect Get - Fatal编程技术网

面向对象的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

我是OO php新手,所以这看起来很基本

基本上我有一个用户可以预订的课程列表。我已经得到了它,用户可以从他们的列表中删除课程,但我希望在他们删除后向他们显示一条消息。我在这里做了一些类似的事情:

<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. 
}