Jump to content

Data Duplication when Insert a new record


jmaster85

Recommended Posts

Hi Every one , i just migrated from HELL ASP.NET to PHP and I must say that PHP RULES !! and I Love It

 

here is my problem . i have 2 php pages , 1.php and 2.php . the 1.php simply contains a form and would be submitted to 2.php . the page 2.php then INSERTs the form data into the database . but , if the user Refreshes the page or simply back to the 2.php by BROWSER'S BACK Button , the data would Insert Again into the DB .

 

How Can I Fix This ?

 

 

 

here is my code

 

the 1.php contains :

 

<form action="2.php" method="post">

<input name="SomeString">

<input type="submit" value="send me">

</form>

 

 

and the 2.php :

 

<?php

$ST = $_POST['SomeString'];

$connect = new mysqli("localhost","root","","MyDB");

$connect->query("INSERT INTO MY_TABLE (ID,NAME) VALUES (NULL , '$ST'))");

?>

 

 

thanks alot  :D

Link to comment
Share on other sites

You could use sessions to record the last submit date of the form.

 

So, when the form processes, at the top of the form add

 

<?php
session_start();
if((array_key_exists('LastPostTime', $_SESSION) && (($_SESSION['LastPostTime'] + 60) <= time()) === false) {
//Process form

}
$_SESSION['LastPostTime'] = time();
?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.