0

ユーザーがキャンセルボタンをクリックしたときに、ファイル名を含むデータベース行を削除したい。問題は、データベース行を削除していないことです。データベース行がキャンセルされないのは何が間違っているのですか?

以下は、フォームの関連コードです。

var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return imageClickHandler(this);' class='imageuploadform' >" + 
  "Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><br/><label class='imagelbl'>" + 
  "<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label>" +     
  "</p><p class='imagef1_cancel' align='center'><label>" + 
  "<input type='button' name='imageCancel' class='imageCancel' value='Cancel' /></label>" +
  "<iframe class='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px;solid;#fff;'></iframe></form>");

以下は、ファイルのアップロードを開始し、キャンセルボタン関数が保存されるstartImageUpload()関数です。

  function startImageUpload(imageuploadform, imagefilename){
    $('.imagef1_cancel').eq(window.lastUploadImageIndex).find(".imageCancel").on("click", function(event) {
      return stopImageUpload(2);
      });     
    return true;
  }

以下は、成功と結果を使用してキャンセルメッセージを表示するstopImageUpload()関数です。

function stopImageUpload(success, imagefilename){
  var result = '';
  if (success == 2){
    result = '<span class="imagecemsg"> The file upload was canceled!</span><br/><br/>';
  } else {
    result = '<span class="imageemsg">There was an error during file upload!</span><br/><br/>';
  }         
  return true;   
}

最後に、iframeを使用してQandATable.php(上記のコードを含むスクリプト)にリンクされているimageupload.phpスクリプトを示します。これは、データベース行が削除されると想定される場所です。

<?php
  session_start();
  ...//connected to DB
  $result = 0;

  if ($result == 2) {
    $imagecancelsql = "DELETE FROM Image 
                       WHERE ImageFile = 'ImageFiles/".
                       mysql_real_escape_string($_FILES['fileImage']['name'])."'";
    mysql_query($imagecancelsql);
  }
  mysql_close();
?>
<script language="javascript" type="text/javascript">window.top.stopImageUpload(<?php echo $result ? 'true' : 'false'; ?>, '<?php echo $_FILES['fileImage']['name'] ?>');</script>
4

1 に答える 1

4

imageupload.phpであなたは宣言しました:

$result = 0;

次に、あなたは言います:

if ($result == 2)...

$result2ではなく0であるため、クエリは実行されません。

于 2012-05-15T18:49:11.953 に答える