sql >> データベース >  >> RDS >> Mysql

ファイルがajaxphpmysqlにアップロードされていません

    まず、serialize()関数がファイルに対して機能しないため、データを投稿できるフォームのオブジェクトを作成する必要があります。これにより、完全に機能します。同じ問題が発生しました。問題を解決し、100%機能しています。これをテストしたからです。チェックアウトしてください。フォーム。

     <form name="multiform" id="multiform" action="process.php" method="POST" enctype="multipart/form-data">
                   name : <input type="text" name="name" id="name"/>
                   </br>
                   message : <input type="text" name="message" id="message" />
                   </br>
                   Image : <input type="file" name="file" id="file" />
            </form>
                   <input  type="button" id="multi-post" value="Run Code"></input>
                   <div id="multi-msg"></div>
     

    スクリプト。

     <script type="text/javascript">
    $(document).ready(function(){
    $("#multiform").submit(function(e)
    {
        var formObj = $(this);
        var formURL = formObj.attr("action");
    
    if(window.FormData !== undefined)  
        {
            var formData = new FormData(this);
            $.ajax({
                url: formURL,
                type: 'POST',
                data:  formData,
                mimeType:"multipart/form-data",
                contentType: false,
                cache: false,
                processData:false,
                success: function(data, textStatus, jqXHR)
                {
                        $("#multi-msg").html('<pre><code>'+data+'</code></pre>');
                },
                error: function(jqXHR, textStatus, errorThrown) 
                {
                    $("#multi-msg").html('<pre><code class="prettyprint">AJAX Request Failed<br/> textStatus='+textStatus+', errorThrown='+errorThrown+'</code></pre>');
                }           
           });
            e.preventDefault();
            e.unbind();
       }
    });
    $("#multi-post").click(function()
        {
        //sending form from here
        $("#multiform").submit();
    });
    
    });
    
    </script>
     
    ');}、エラー:function(jqXHR、textStatus、errorThrown){$( "#multi-msg")。html('
     AJAXリクエストに失敗しました
    textStatus='+ textStatus +'、errorThrown ='+ errorThrown +'
    ');}}); e.preventDefault(); e.unbind( );}}); $( "#multi-post")。click(function(){ //ここからフォームを送信$( "#multiform")。submit();});});

    そして、あなたのphpファイルは私がテストして動作しているものと同じです。

     <?php
      mysql_connect("localhost","root","");
      mysql_select_db("ajaxdatabase");
    
      $name=$_POST["name"];
      $message=$_POST["message"];
      //storing file in filename variable
        $fileName = $_FILES['file']['name'];
        //destination dir
        $to="image/".$fileName;
    
        move_uploaded_file($_FILES['file']['tmp_name'],$to);
    
      $query=mysql_query("INSERT INTO common(name,message,destination) values('$name','$message','$to') ");
    
      if($query){
        echo "Your comment has been sent";
      }
      else{
        echo "Error in sending your comment";
      }
    
    ?>
     



    1. 文字列の最後のコンマの後のすべての文字を削除するクエリ

    2. MicrosoftAccessでテーブルの名前を変更する方法

    3. Ubuntuでpostgresqlを完全にパージして再インストールする方法は?

    4. phpとmysqlでSQLインジェクションを防ぐにはどうすればよいですか?