表单提交后刷新包含不同内容的页面

I want to have a php contact form, that when submitted (if no errors), will refresh the same page, and remove the contact form, and replace it with some text e.g. "thank you for contacting us". Is there a best way to do this?

You could always do something like this:

<?php
    $posted = false;
    if( isset($_POST['submit']) ) {
        /* Process $_POST */

        /* Do your things */

        /* Set a variable hinting if a post has been done */ 
        $posted = true;
    }
?>
<!DOCTYPE html>
<html>
    <body>
    <?php if( $posted ): ?>
        <form method="post">
            <input name="foo" />
            <input name="bar" />
            <input name="car" />
            <input name="submit" type="submit" value="Submit" />
        </form>
    <?php else: ?>
        <h1>Thank you for contacting us!</h1>
    <?php endif; ?>
    </body>
</html>

Do it this way.

<?php

$showform=true;  //dispaying the form for the first time

if(isset($_POST['submit'])){

       //check for errors
       if($errors){
          $msg="errors";
          $showform=true;  // if found errors, setting error msg and displaying the form
       }else{
          //process the form
          $showform=false;  //if no errors, setting success msg and hiding the form
          $msg="SUccess";
       }
}

if(isset($msg)){
         //display the success/error msg
         echo $msg;
}
if($showform==true){

   //your form code
   <form method="post">
        <input name="foo" />
        <input name="bar" />
        <input name="car" />
        <input name="submit" type="submit" value="Submit" />
    </form>
}


?>