0

ユーザーが「キャンセル」ボタンをクリックしたときに問題が発生しました。ユーザーが「キャンセル」ボタンをクリックすると、cancelimage.php ページに移動して、データベース内の行を削除します。ただし、アップロード後にキャンセルされたファイルのデータベース行を削除するわけではありません。以下のコードを見ると、データベースから行が削除されないのはなぜですか?また、削除するようにコーディングするにはどうすればよいでしょうか?

以下は、アップロードを開始し、キャンセル ボタン機能を備えた startImageUpload() 関数です。

    function startImageUpload(imageuploadform){

    ...

                $(".imageCancel").on("click", function(event) {

var image_file_name = $(this).attr('image_file_name');

                jQuery.ajax("cancelimage.php"  + image_file_name)
                    .done(function(data) {

                    $(".imagemsg" + _cancelimagecounter).html(data);
                });

                return stopImageUpload();

            });       
                  return true;
            }

以下は、データベースから行を削除することになっている cancelimage,php ページですか?

<?php

$username="xxx";
$password="xxx";
$database="xxx";

mysql_connect('localhost',$username,$password);

mysql_select_db($database) or die( "Unable to select database");

$image_file_name = $_GET["fileImage"]["name"];

    echo "File Upload was Canceled";

        $imagecancelsql = "DELETE FROM Image 
        WHERE ImageFile = 'ImageFiles/". mysql_real_escape_string($image_file_name)."'";

    mysql_query($imagecancelsql);

    mysql_close();


?>

以下は、データベース行を挿入する php スクリプト (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();

?>
4

1 に答える 1

0

あなたのコードを見ると、cancelimage.php への呼び出しの $_FILES 変数には何もないと確信しています。

できることは、イメージの名前をパラメーターとして cancelimage.php スクリプトに渡し、それをクエリで使用することです。

于 2012-05-06T22:05:47.380 に答える