ユーザーが「キャンセル」ボタンをクリックしたときに問題が発生しました。ユーザーが「キャンセル」ボタンをクリックすると、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();
?>
私は自分のコードを更新しましたが、画像の名前を渡したかどうかはわかりませんが、更新されたコードでは行を削除するデータベースを取得できないため、 – user1373827