One way to do this where you can ensure that you are clearing the URL parameters is to add a button that goes to an "in-between" page that includes a redirect back to the page you are on.
For example, if your page is "mypage.php" and it currently has a URL variable such as "mypage.php?id=1"
You could create a hyperlink on your button to go to "refreshmypage.php"
On the page "refreshmypage.php", you would clear out all the code and just put the php redirect code, such as this:
<?php header("Location: mypage.php");
Now the page will seamlessly redirect through the refresh without the user noticing that it actually went through a new page to create the clearing instance of the URL parameters.
Keep in mind, you can use this method a lot of different ways... you may not need to use a button, but instead just have this triggered by another behavior such as a database update or email sent, etc.