0

私はここでいくつかの問題を抱えています..

index.php からのアップロードを使用し、jquery (ajax) を使用して情報を mysql に保存します。私は3つのファイルindex.php、savedata.php、jsSave.jsを持っています

しかし、savedata.php から $_REQUEST ファイルを使用し、結果が mysql テーブルでも空の応答である場合、$_REQUEST を置き換えて $_FILES を使用すると、同じ結果が得られます。

私がすでに試して使用しているのは、以下のようなコードです...

インデックス.php

        <form class="myform" action="<?php $_SERVER['PHP_SELF'];?>" method="POST" name="myform" id="myform" enctype="multipart/form-data" style="width:350px;">

                            <li>
                            <label>Item Picture</label>
                            <div class="fileUpload btn btn-primary">
                                <span>Choose Image..</span>
                                <input type="file" name="cItemPicture" class="cItemPicture" id="cItemPicture"/>
                            </div>
                            <input type="hidden" name="cPic" id="cPic"/>
                        </li>

                        <li>
                            <img border="0" src="images/loading_transparent.gif" width="20" height="20" id="imgLoad">
                        &nbsp<button class="button_blue" id="butTblSave" type="submit" style="width: 81px; height: 33px">SAVE</button>
                        </li>

そしてsavedata.phpファイルのスクリプトは

    <?php 
   if($_REQUEST)
{
    ***$cItemPicture=$_FILES["cItemPicture"]["name"];***

    $sql="INSERT INTO tblData(item_image) VALUES ('$cItemPicture')";

    $result=mysql_query($sql) or die('Cannot Connect To SQL Server, Please contact your administrator');
      move_uploaded_file($_FILES["cItemPicture"]["tmp_name"],
      "upload/" . $_FILES["cItemPicture"]["name"]);
}
?>

jQueryファイルを使用してAJAXとして機能する最後のファイルはjsSave.jsです

    $(document).ready(function() {
    $('#imgLoad').hide();
    $('#msgConfirm').hide();
    $('#tblAvailabilityResult').hide();
});

$(function() {  
  $("#butTblSave").click(function() {  
        $.ajax({
        type: 'POST',
        url: 'saveData.php',
        data: $('form').serialize(),

            beforeSend: function() {
                $("imgLoad").show();
            },

            complete: function() {
                $("imgLoad").hide();
            },        

            cache: false,

            success: function () {

                $("#cItemPicture").val('');

                $('#imgLoad').hide();
                $('#butTblSave').attr("disabled", false);

                $('#msgConfirm').fadeIn(500).delay(5000).fadeOut(1000);
                $("#msgConfirm").html(' Add New Item Success.');

            }

        });
        return false;
    }

  });  
});  

私は何かが恋しいですか?SAVE ボタンを押すと ajax 応答が空白になり、データが mysql item_image に保存されます。これも空白で、ファイルはアップロード フォルダに移動さ​​れません。

この問題のアイデアはありますか?これについてどうもありがとう。

ありがとうございました

4

1 に答える 1

0

フォームのデフォルトの送信を防止してみてください。フォームが SELF に送信されているため (index.php)

$("#butTblSave").click(function(event) { 
event.preventDefault();
...
于 2013-10-09T08:53:29.233 に答える