我有表单从用户那里获取一些数据和文件并将其插入到 mysql DB
就这样完成了。但是当我收到消息成功并且文件已上传时,如果我刷新页面,数据库内的相同数据会重复
当我刷新页面时,我不想在数据库中出现重复的数据
这是我的代码:
<?php
$Name=mysql_real_escape_string($_POST['nameofresearch']) ?
$_POST['nameofresearch'] : '';
$Dates=mysql_real_escape_string($_POST['dateofstart']) ?
$_POST['dateofstart'] : '';
$Datee=mysql_real_escape_string($_POST['dateofend']) ?
$_POST['dateofend'] : '';
$budget=mysql_real_escape_string($_POST['budget']) ?
$_POST['budget'] : '';
$Names=mysql_real_escape_string($_POST['requestedby']) ?
$_POST['requestedby'] : '';
$executingagency=mysql_real_escape_string($_POST['executingagency']) ?
$_POST['executingagency'] : '';
$projectstatus =mysql_real_escape_string($_POST['projectstatus']) ?
$_POST['projectstatus'] : '';
$projectmanager =mysql_real_escape_string($_POST['projectmanager']) ?
$_POST['projectmanager'] : '';
$briefdes =mysql_real_escape_string($_POST['briefdes']) ?
$_POST['briefdes'] : '';
if($_POST['expert'][0]) { $first_expert = $_POST['expert'][0]; } else { $first_expert = 0; }
if($_POST['expert'][1]) { $second_expert = $_POST['expert'][1]; } else { $second_expert = 0; }
if($_POST['expert'][2]) { $third_expert = $_POST['expert'][2]; } else { $third_expert = 0; }
include("../config.php");
if(is_uploaded_file($_FILES['fileupload']['tmp_name'])) {
$fname = "ERI_db/".date("H-i-s").strstr($_FILES['fileupload']['name'],'.');
} else { echo "<BR>No file uploaded<BR>"; }
$sql="INSERT INTO " . ERI_TABLE . " (id,nameofresearch,dateofstart,dateofend,budget,requestedby,executingagency, projectstatus,projectmanager,briefdes,filename,expert1,expert2,expert3)
VALUES(NULL, '$Name', '$Dates', '$Datee', '$budget', '$Names','$executingagency', '$projectstatus', '$projectmanager', '$briefdes','$fname','$first_expert','$second_expert','$third_expert')";
$result=mysql_query($sql);
if($result)
{
echo "<BR><b>Successful<BR>";
echo "<BR>";
//----------------------------------------
if($_FILES['fileupload']['size']>0)
{
if(!in_array($_FILES['fileupload']['type'],$exten)){ $r.="امتداد الملف خطا - <br>";}
if(file_exists($dir.$_FILES['fileupload']['name'])){ $r.="الملف موجودة مسبقا -<br>";}
if($_FILES['fileupload']['size']>$bigsize){ $r.="حجم الملف اكبر من المسموح به -<br>";}
}
if($r)
{
echo $r;
exit();
}
else
{
if($_FILES['fileupload']['tmp_name'])
{
copy($_FILES['fileupload']['tmp_name'],$dir.$fname);
echo "<BR>File is uploaded<BR>";
// echo "<BR>" . $dir.$fname . "<BR>"; // Print path to file
echo "<BR>";
}}
} else {
echo "<BR>ERROR<BR>";
echo mysql_error();
}
我该怎么办? 请描述解决方案
最佳答案
and its done. but when i get message success and file is uploaded and if i refresh page same data duplicate inside DB
文件上传后,您应该将页面重定向到另一个位置,并显示成功或错误消息,以防止出现此问题。
关于刷新页面时php mysql重复插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070465/