如何使用ajax php mysql将id和表单数据发送到另一个php文件?

时间:2019-05-24 04:45:17

标签: php jquery mysql ajax

我的问题是我无法更新数据库,但客户端工作正常。我怀疑我的问题可能是php文件无法从ajax获取ID。我不清楚如何将id和FormData对象发送到另一个页面。

我尝试在FormData对象上使用append发送ID,但无法正常工作。

有人可以给我提示或解释如何将id和FormData对象发送到php文件吗?

jquery

   $(document).on('click','.update_btn',function(){
   url=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.? 
    +=&%@!\-\/]))?/;
   var update_btn=$(this).attr('id');
    var edit_company_name=$('#edit_company_name').val();
    var edit_website=$('#edit_website').val();
    var extension=$('#edit_company_image').val().split('.').pop();
    if($('#edit_company_name').val()==''){
        alert('名字没填写!');
    }
    else if($('#edit_company_image').val()==''){
        alert('图片没放!')
    }else if($.inArray(extension,['jpg','png','gif','jpeg'])==-1){
        alert('图片格式错误!');
    }else if(url.test(edit_website)){
        alert('请写网站格式!');
    }
    else{
      swal.fire({
        title: "你是否确定更改公司的资料?",
        type: "warning",
        showCancelButton: true,
        confirmButtonColor: "#DD6B55",
        confirmButtonText: "是, 我确定要更改此资料!"

    }).then((result)=>{
      var formdata=new FormData(this);
      formdata.append('edit_company_name',edit_company_name);
      formdata.append('edit_website',edit_website);
      if(result.value){
        $.ajax({
          url:"edit-company.php",
          method:"POST",
          data: formdata,
          cache:false,
          contentType:false,
          processData:false,
          success:function(){
           swal.fire({
            text:'恭喜你,你成功更改公司的资料!',
                type:'success',
                showCancelButton: false,
                showConfirmButton: false
           })
           setTimeout(function(){location.href="company.php"},10000);  
          }

        });
        }//end of result value
     });


    }
})

edit-company.php


include('dbconnect.php');
if(isset($_POST['update_btn'])){
        $edit_company_name=trim(mysqli_real_escape_string($conn,$_POST['edit_company_name']));
        $edit_website=trim(mysqli_real_escape_string($conn,$_POST['edit_website']));
        $edit_file=$_FILES['edit_company_image'];
        $edit_file_tmp=$_FILES['edit_company_image']['tmp_name'];
        $target_path="image/company/";
        $upload_path=$target_path.basename($edit_file);
        $sql="SELECT * FROM company WHERE company_name='".$_POST['update_btn']."'";
        $result=mysqli_query($conn,$sql) OR die("Error ".mysqli_error($conn));
        while($row=mysqli_fetch_array($result)){
           $file=$row['company_image'];
        }
        unlink($file);
        $query="UPDATE company SET company_name='".$edit_company_name."',company_image='".$upload_path."',website='".$edit_website."' WHERE company_name='".$_POST['update_btn']."'";
        mysqli_query($conn,$query);
        move_uploaded_file($edit_file_tmp,$upload_path);



    }

0 个答案:

没有答案