sql >> Databasteknik >  >> RDS >> Mysql

filen laddas inte upp i ajax php mysql

Först och främst serialize()-funktionen fungerar inte för fil du borde behöva göra ett formulärobjekt genom vilket du kan lägga upp data och kommer att fungera perfekt Jag hade samma problem och jag har precis löst ditt problem och fungerar 100% för jag har testat detta. Vänligen kolla in. Formuläret.

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

Manuset.

<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-begäran misslyckades
textStatus='+textStatus+', errorThrown='+errorThrown+'
'); } }); e.preventDefault(); e.unbind( ); }});$("#multi-post").click(function() { //skicka formulär härifrån $("#multiform").submit();});});

Och din php-fil är densamma som jag har testat och fungerar.

<?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. Deklarera en variabel och ställa in dess värde från en SELECT-fråga i Oracle

  2. Databasen är inte konfigurerad laravel under migreringen

  3. Villkorlig WHERE-sats med CASE-sats i Oracle

  4. Hur man mappar PostgreSQL-arrayfält i Django ORM