我有一个“取消”按钮,当用户单击它时,它会重置源并删除 iframe,以便在用户单击“取消”按钮后文件不会上传到服务器。这工作正常。
但我遇到的问题是,在用户单击“取消”按钮后,我也不希望它将该行插入数据库。但正如我所说,如果文件被上传,然后在数据库中插入一行显示文件名,那么我想做的是如果单击“取消”按钮,那么它将导航到“取消图像.php”页面,它将删除该行。所以从技术上讲,如果单击“取消”按钮,则插入该行然后删除该行。
问题是它没有删除行,它只是插入行。我怎样才能让它删除数据库中的行?
下面是开始上传的 startImageUpload() 函数以及取消按钮功能的特色:
function startImageUpload(imageuploadform){
$(".imageCancel").on("click", function(event) {
$("iframe[name='upload_target']").attr("src", "javascript:'<html></html>'");
return stopImageUpload();
jQuery.ajax("cancelimage.php")
});
return true;
}
下面是包含上传脚本 (imageupload.php) 的代码,它在数据库中插入一行:
<?php
session_start();
$username="xxx";
$password="xxx";
$database="xxx";
mysql_connect('localhost',$username,$password);
mysql_select_db($database) or die( "Unable to select database");
$result = 0;
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
$imagesql = "INSERT INTO Image (ImageFile)
VALUES ('ImageFiles/".mysql_real_escape_string($_FILES['fileImage']['name'])."')";
mysql_query($imagesql);
}
mysql_close();
?>
最后下面是 cancelimage.php 页面,假设从数据库中删除该行:
<?php
$username="xxx";
$password="xxx";
$database="xxx";
mysql_connect('localhost',$username,$password);
mysql_select_db($database) or die( "Unable to select database");
echo "File Upload was Canceled";
$imagecancelsql = "DELETE FROM Image
WHERE ImageFile = 'ImageFiles/". mysql_real_escape_string($_FILES['fileImage']['name'])."'";
mysql_query($imagecancelsql);
mysql_close();
?>