stop inserting data in the database when refreshing the page

database, load, mysql, php, refresh

Solution

Header the user to a new page :

if (isset($_POST['submit'])) 
{
  $user= $_POST['username'];
  $email = $_POST['useremail'];
  $pass= $_POST['password']; 

  mysql_query("INSERT INTO table (username, useremail, email) VALUES(`$username','$useremail','$email')");

}
//best outside the if statement so user isn't stuck on a white blank page.
header("location: landing_page.php");
exit;

By doing this the user who refreshes will be refreshing `landing_page.php` which means it won't do the insert twice.

best advice: do a check to see if user exists first if so don't insert!

Problem

I am looking for a way to stop inserting or sending data in the database when refreshing the page. here is my code: user_details_page.php ``` <form action="confirm_page.php" method="post" > User Name: <input type="text" name="username" > User Email <input type="text" name="useremail" > Password: <input type="text" name="password" > <input type="submit" name="submit" > </form> ``` confirm_page.php ``` if (isset($_POST['submit'])) { $user= $_POST['username']; $email = $_POST['useremail']; $pass= $_POST['password']; mysql_query("INSERT INTO table (username, useremail, email) VALUES ('$username','$useremail','$email'); } ``` so the problem everytime I refresh the confirm page.php the data is sent to the database. how to stop this?

Original source

Related problems