|
Posted by egibberate on 01/21/07 14:16
Hi,
complete novice I'm afraid. When I input data into the form
and click the submit button, the data is sent to the database twice ?
ie. two identical records are logged into the table. Can anyone spot
the
flaw in the code below? Thanks in anticipation.
<?
if ($_POST) {
$msg = "";
foreach($_POST as $k => $v) {
$v = trim($v) ;
$$k = $v ;
if ($v=="") {
$msg = "Please fill in both fields";
}
}
if ($msg=="") {
$insert = "INSERT INTO tblshop_name
(strshop_name, intshopcentre)
VALUES ('$sn','$sc')";
$link = mysqli_connect('localhost','root','blablabla','blablabla');
if (!mysqli_query($link, $insert)) {
$msg = "Error inserting data";
} else {
$msg = "Record successfully added";
$sn = $sc = "";
}
mysqli_close($link);
}
echo "<div class=\"error\">$msg</div>";
} else {
$sn = $sc = "";
}
?>
<FORM METHOD="post" ACTION="<? echo
$_SERVER['PHP_SELF'] ?>">
<TABLE BORDER="1" CELLPADDING="5">
<TR>
<TH>Shop Name</TH>
<TH>Retail Park</TH>
</TR>
<TR>
<TD><INPUT TYPE="text" NAME="sn" VALUE"<?
echo $sn ?>" /></TD>
<TD><INPUT TYPE="text" NAME="sc" VALUE="<?
echo $sc ?>" /></TD>
</TR>
</TABLE>
<BR/>
<INPUT TYPE="submit" VALUE="Add to database" />
<INPUT TYPE="reset" VALUE="Cancel" />
</FORM>
Navigation:
[Reply to this message]
|