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?
Header the user to a new page :
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!
What is going on here is that when you refresh page, the form is submitted twice.
To prevent this, you can use sessions:
The fast way is to redirect the page to it's current location: