php - 当我单击“取消”按钮时,它不会删除数据库行

标签 php javascript jquery sql ajax

我有一个“取消”按钮,当用户单击它时,它会重置源并删除 iframe,以便在用户单击“取消”按钮后文件不会上传到服务器。这工作正常。

但我遇到的问题是,在用户单击“取消”按钮后,我也不希望它将该行插入数据库。但正如我所说,如果上传文件,然后在数据库中插入一行显示文件名,那么我想做的是,如果单击“取消”按钮,那么它将导航到“cancelimage” .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();


?>

最佳答案

当您调用cancelimage.php时,$_FILES['fileImage']['name']将不再包含名称。它仅包含上传页面的文件名。您需要将名称存储在 cookie、 session 或其他内容中。

<小时/>

编辑:

永远不要相信客户的输入:

move_uploaded_file($_FILES["fileImage"]["tmp_name"], “图像文件/”。 $_FILES["fileImage"]["name"]);

如果我上传文件名为“../imageupload.php”的内容怎么办?你的网站会被破坏;)更糟糕的是,我可以注入(inject)各种讨厌的代码。

关于php - 当我单击“取消”按钮时,它不会删除数据库行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10470918/

相关文章:

php - 在 ajax 添加到购物车上显示特定 Woocommerce 购物车商品数量的甜蜜警报

PHPWord 导出给出损坏的 Word 文件

php - 我怎样才能使我的数据库响应时间和渲染时间更好?

php - 查询获取树上的类别和产品

c# - 需要从 Javascript 调用代码隐藏方法而不在 asp.net 中使用 ajax

javascript - 在 YUI 中加载 jQuery 和插件

php - 从 mysql json android 中检索数据

javascript - 在 GWT 元素上使用 JS appendChild

javascript - 在 SharePoint 站点中通过 jQuery 获取 div

javascript - 自举开启和关闭拨动开关