Вставка данных без перезагрузки страницы - PullRequest
0 голосов
/ 09 января 2019

Я хочу вставить свои данные в базу данных без перезагрузки страницы, но могут возникнуть некоторые проблемы. Вот мой код

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

index.php

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
    <form id="myform" action="db.php" method="post">
    <input type="text" name="name" id="name">
    <input type="text" name="email" id="email">
    <input type="button" name="submit" value="submit" id="submit">
    </form>
    <div id="result"></div>



</body>
</html>

<script>

    $(document).ready(function(){
        $('#submit').click(function(){
            var name = $('#name').val();
            var email = $('#email').val();

            if(name == '' && email =='')
            {
                $('#result').html('<span>all fields are required</span>');
            }
            else
            {
                $.ajax({
                    url :"db.php",
                    method :"POST",
                    data :$('#myform').serialize();
                    beforeSend:function(){
                        $('#result').html('<span>loading..!</span>');
                    },


                });
            }
        });
    });
</script>

db.php

<?php
$con = mysqli_connect("localhost","root","","sampl1");

if(isset($_POST['submit']))
{

    $name = $_POST['name'];
    $email = $_POST['email'];

$sql = "insert into jquery (name,email) values('$name','$email')";
$res =mysqli_query($con,$sql);

if($res)
{
    echo "<p>you have entered</p>";
    echo "<p>name :".$[name]."</p>";
    echo "<p>email :".$[email]."</p>";
}
}
?>

Ответы [ 2 ]

0 голосов
/ 09 января 2019
$.ajax({
                url :"what.php",
                method :"POST",
                data :$('#myform').serialize(),
                beforeSend:function(){
                    $('#result').html('<span>loading..!</span>');
                },
                success:function(data){
                    alert(data);
                }


            });

Удалите это ';' после data :$('#myform').serialize() и поставьте вместо него запятую. Я отвечаю на это, не зная, является ли это простой опечаткой или проблемой синтаксиса. в вашем php файле:

echo "<p>name :".$name."</p>";
echo "<p>email :".$email."</p>";

Снять квадратные скобки

0 голосов
/ 09 января 2019

используйте инструменты разработчика. Клавиша f12. Перейдите на вкладку «Сеть». Когда вы нажимаете «Отправить», там будет показан AJAX, вы можете проверить, работает он или нет, и какой ответ вы получите, щелкнув по нему. Вы можете использовать оповещение («ошибка»), чтобы проверить, правильно ли работает ваш JavaScript.

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

  <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    </head>
    <body>
        <form id="myform" action="db.php" method="post">
        <input type="text" name="name" id="name">
        <input type="text" name="email" id="email">
        <input type="button" name="submit" value="submit" id="submit">
        </form>
        <div id="result"></div>



    </body>
    </html>

    <script>

        $(document).ready(function(){
            $('#submit').click(function(){
                var name = $('#name').val();
                var email = $('#email').val();

                if(name == '' && email =='')
                {
                    $('#result').html('<span>all fields are required</span>');
                }
                else
                {
                    $.ajax({
                        url :"db.php",
                        method :"POST",
                        data :{'name':name,'email':email},                        
                        beforeSend:function(){
                            $('#result').html('<span>loading..!</span>');
                        },


                    });
                }
            });
        });
    </script>

db.php

<?php
$con = mysqli_connect("localhost","root","","sampl1");

if(isset($_POST['submit']))
{

    $name = $_POST['name'];
    $email = $_POST['email'];

$sql = "insert into jquery (name,email) values('$name','$email')";
$res =mysqli_query($con,$sql);

if($res)
{
    echo "<p>you have entered</p>";
    echo "<p>name :".$[name]."</p>";
    echo "<p>email :".$[email]."</p>";
}
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...