Невозможно получить данные из ajax на страницу php - PullRequest
0 голосов
/ 01 июля 2019

Я создаю простую страницу, где пользователь может ввести имя, пароль и изображение, используя HTML.Я пытаюсь отправить эти данные с помощью ajax на определенную страницу php, но я не могу реализовать это.как я это делаю

HTML-код

<?php include('connection.php'); ?>         
    <form id="form" enctype="multipart/form-data">
        <table>
            <tr>
                <td>Name:</td>
                <td><input type="name" id="name"></td>
            </tr>
            <tr>
                <td>Password:</td>
                <td><input type="password" id="pass"></td>
            </tr>
            <tr>
                <td>Photos:</td>
                <td><input type="file" id="photos"></td>
            </tr>
            <tr>
                <td><input type="submit" id="go"></td>
            </tr>
        </table>
    </form>

JQuery и AJAX

<script>
    $(document).ready(function(){
        $('#go').click(function(){      
            var img_name = $('#img_name').val();
            var name = $('#name').val();
            var pass = $('#pass').val();  
            $.ajax({   
                type : "POST",
                url : "singup_submit.php",
                data : { img_name:img_name, name:name, pass:pass},
                success : function(done){
                    alert(done);
                }    
            });    
        });
    });
</script>

Php-код

<?php
    include('connection.php');    
    if(isset($_POST)){   
        $name = $_POST['name'];
        $pass = $_POST['pass'];
        $img_name=$_FILES['img_name']['name'];

        $qr="INSERT INTO data (name,pass,img_name) VALUES ('$name','$pass','$img_name')";
        $ex=mysqli_query($con,$qr) or die(mysqli_error($con));    
        if($ex==1)
            echo 'done';
        else            
            echo 'not done';
}

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Следуйте этому коду .. Это может помочь вам

<script>
    $(document).ready(function(){
        $("#go").click(function(){
            var name    = $("#name").val();
            var pasword = $("#password").val();
            var photos  = $("#photos").val();
            if(name==''||pass==''||photos==''){
              alert("Please Fill All Fields");
            }
            else{
              $.ajax({
                type   : "POST",
                url    : "singup_submit.php",
                data   : formData,
                cache  : false,
                success: function(result){
                alert(result);
                }
              });
            }
            return false;
        });
      });
  </script>
0 голосов
/ 01 июля 2019

вы не отправляете файл в вашем запросе ajax.

$(document).ready(function(){
$("#go").on('submit',function(e){
   e.preventDefault()

    $.ajax({
        url: 'singup_submit.php',
        type: 'POST',
        data: new FormData(this),
        contentType: false,
        processData: false,
        success: function(response){
                alert(done);
            },
            error: function(data){
                console.log("error");
                console.log(data);
            }
          },
       });
    });
  });

и затем возьмите данные из глобальных переменных в php, как вы делаете сейчас. и, пожалуйста, присвойте имя вашим полям формы, например,

 <form id="form" enctype="multipart/form-data">
    <table>
        <tr>
            <td>Name:</td>
            <td><input type="name" name="name" id="name"></td>
        </tr>
        <tr>
            <td>Password:</td>
            <td><input type="password" name="password" id="pass"></td>
        </tr>
        <tr>
            <td>Photos:</td>
            <td><input type="file" name="img" id="photos"></td>
        </tr>
        <tr>
            <td><input type="submit" name="submit" id="go"></td>
        </tr>
    </table>
</form>

и должно работать.

...