移动文件和将文件数据保存为空白的问题

时间:2013-10-09 08:43:28

标签: php jquery mysql ajax upload

我在这里遇到了一些问题..

我在index.php上使用upload,我使用jquery(ajax)将任何信息保存到mysql。我有3个文件index.php,savedata.php,jsSave.js

但是当我使用来自savedata.php的$ _REQUEST文件并且结果在mysql表中也是空白响应时,我替换$ _REQUEST并使用$ _FILES并且具有相同的结果。

我已尝试使用的是以下代码......

的index.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也空白时,也没有文件移入上传文件夹。

对这个问题有什么想法吗?非常感谢。

谢谢

1 个答案:

答案 0 :(得分:0)

尝试阻止默认提交表单。 因为表单正在提交给SELF(index.php)

$("#butTblSave").click(function(event) { 
event.preventDefault();
...