Search code examples
phpooppost-redirect-get

PHP OOP message keeps displaying on page refresh


I have a relatively simple class which deletes a post:

function delete_post($postid, $reason){

    //Stuff to delete post      
    $this->delete_response = 'Thanks, your course has been removed.';

}

This function is called at the top of a page with a form on. If the form is submitted, the same page checks the POST[] and carries out the function, like so:

if(!empty($_POST['removecourse'])){
    $courseManager->delete_post($_POST['courseid'], $_POST['cancel-reason']);
    echo $courseManager->delete_response;
}; 

So my problem is... when I refresh the page, the message keeps displaying. I know this is because I am re-submitting the form, and because there is no such P/R/G pattern going on, but as i am new to OOP, im wondering if im doing this the right way, or if anyone could suggest a way similar to PRG or something?


Solution

  • Add an if that test if somthing changed, like mysql_affected_rows

    function delete_post($postid, $reason)
    {
        //Stuff to delete post
        if(mysql_affected_rows())
        {
           $this->delete_response = 'Thanks, your course has been removed.';
        }
    }