sql >> Database >  >> RDS >> Mysql

bestand wordt niet geüpload in ajax php mysql

Allereerst de serialize()-functie werkt niet voor het bestand, je zou een vormobject moeten maken waarmee je de gegevens kunt posten en dat perfect zal werken. Ik had hetzelfde probleem en ik heb zojuist je probleem opgelost en het werkt 100% omdat ik dit heb getest. Bekijk het formulier.

<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>
 

Het script.

<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>
'); }, error:function(jqXHR, textStatus, errorThrown) { $("#multi-msg").html('
AJAX-verzoek mislukt
textStatus='+textStatus+', errorThrown='+errorThrown+'
'); } }); e.preventDefault(); e.unbind( ); }});$("#multi-post").klik(function() { //formulier vanaf hier verzenden $("#multiform").submit();});});

En je php-bestand is hetzelfde dat ik heb getest en werkt.

<?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. PHP Database Dump Script - zijn er problemen?

  2. Wijzig het uitvoerformaat voor MySQL-opdrachtregelresultaten naar CSV

  3. Hoe kan ik een enkele rij/record kopiëren van de ene MySQL-instantie naar de andere?

  4. Bulletin board - Database-optimalisatie