Как отправить данные идентификатора и формы в другой файл php с помощью ajax php mysql? - PullRequest
0 голосов
/ 24 мая 2019

Моя проблема в том, что я не могу обновить свою базу данных, но клиентская сторона работает нормально. Я подозреваю, что моя проблема, возможно, php-файл не может получить идентификатор из ajax.Мне не было ясно, как отправить объект id и FormData на другую страницу.

Я пытался использовать append для объекта FormData для отправки идентификатора, но это не сработало.

Может кто-нибудь дать мне подсказку или объяснить, как отправить объект 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);



    }

1 Ответ

0 голосов
/ 24 мая 2019

используйте ajax и проверьте свой ответ, а затем вы можете использовать подсвечивание в соответствии с вашим ответом

$('#buttonId').click(function() {
    var val1 = $('#fieldId').val();
    $.ajax({
        type: 'POST',
        url: 'your_php_file.php',
        data: { fieldId: val1},
        success: function(response) {
            $('#result').html(response);
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...