2012-05-06 8 views
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(); 

?> 

答えて

0

を、私は$ _FILES変数に何もないでしょうかなり確信していますcancelimage.phpの呼び出しで

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

+0

私は自分のコードを更新しましたが、画像の名前を渡したかどうかはわかりませんが、更新されたコードでは行を削除するデータベースを取得できないため、 – user1373827

関連する問題