只写重要的html
<li>
         <span class="f_l w_60">截图: </span>
            <input type="text" name="we_pic" id="we_pic" class="f_l w_70" />
            <span class="f_box"><input type="file" name="we_pic_310_250" id="we_pic_310_250" class="file" /></span>
            <span id="wepic_msg" class="f_l"></span>
        </li>jsvar we_pic_310_250=$we_pic_310_250.val();
if(name_va(we_name) && web_va(we_web) && mail_va(we_mail) && name_va(we_type) && file_va(we_pic_310_250)){
$.ajax({
   type: "POST",
   url: "web.php",
   data:{we_name:$we_name.val(),we_web:$we_web.val(),we_type:$we_type.text(),we_mail:$we_mail.val(),we_pic_310_250:$we_pic_310_250.val(),submit:'submit'},
   success: function(){
  $sub_msg.text("成功")
   }
});

}php<?php$we_pic_310_250 = date("YmdHis")."_310_250".".".end(explode('.',$_FILES['we_pic_310_250']['name']));include('conn.php');$sql="INSERT INTO Web (we_name, we_web, we_type, we_mail, we_pic_310_250) VALUES ('$_POST[we_name]','$_POST[we_web]','$_POST[we_type]','$_POST[$we_mail]','$we_pic_310_250')";if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}else{
if ((($_FILES["we_pic_310_250"]["type"] == "image/jpeg") || ($_FILES["we_pic_310_250"]["type"] == "image/pjpeg")) && ($_FILES["we_pic_310_250"]["size"] < 2000000))
{
move_uploaded_file($_FILES["we_pic_310_250"]["tmp_name"], "images/" . $we_pic_310_250);
}
}
echo "成功添加";mysql_close($con)
?>

解决方案 »

  1.   

    写进数据库时 图片没后辍  图片没传到images文件夹
      

  2.   

    上面 '$_POST[$we_mail]' 写错了 '$_POST[we_mail]' 但不影响问题
      

  3.   

    改了一下 现在可以写到数据库 但图片传不过来 $we_pic_310_250 = date("YmdHis")."_310_250".".".end(explode('.',$_POST['we_pic_310_250']));9ytythttp://fsdf娱乐fsf@fsf20111213090959_310_250.jpg
     
    2011-12-13 17:09:59
      

  4.   

    你可以打印一下$_FILES数组。  print_r($_FILES);  //看有不有值。既然用ajax提交。那就不能用$_FILES来获取值了吧。下面的移动也会失败。。
      

  5.   

    在网上查了一下 说ajax不支持上传图片
      

  6.   

    百度ajaxuploadfile.js
    支持ajax上传.
      

  7.   

    ajax确实不支持文件的上传,解决办法,用iframe或swfupload等flash控件!