将信息发送到数据库,而无需重新加载页面


send information to database without having page reload

我有一个网站,您可以在文本框中键入内容,它会将我写的内容发送到我的数据库。

我一直被我的页面必须重新加载,这在我的情况下非常麻烦。 我不熟悉 Ajax,但我听说它可以用来完成这项任务。 我有 2 个文件,一个叫做 demo.php这会将信息发送到服务器,此时有一个标头将我重定向回我不想要的页面。

我希望能够在不重新加载页面的情况下继续将数据发送到服务器。 另一页是索引.php 这是我直接进入文本框并将文本发送到我的数据库 下面列出了这两个文件。

这是演示.php

<?php
header("Location: http://mywebsite.com"); 
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$value = $_POST['firstname'];
$sql = "INSERT INTO MyGuests (firstname) VALUES ('$value')";
if ($conn->query($sql) === TRUE) {
    echo "working";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
这是索引论坛.php我输入信息并发送。我需要它留在该页面上并且不以任何方式重新加载。
 <form action="demo.php" method="post" />
<p> <input id="textbox" type="text" name="firstname" placeholder="Enter What You Want Your Message To Be" /></p>
<input id="textbox1" type="submit" value="Submit" />
</form>

我第二次尝试索引.php

<!DOCTYPE html>
<html>
<head>
 <link rel="stylesheet" href="navigation.css href="navigation/navigation.css">
  <link rel="stylesheet" href="navigation/navigation.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.js"></script>
</head>
<body>
<form action="ajax_target.php" method="post" id="ajax-form">
<input type="text" name="firstname" />
<input type="button" name ="send" onclick="return f(this.form ,this.form.fname ,this.form.lname) " >
</form>
</body>
<script>
function submitForm(form){
    var url = form.attr("action");
    var formData = $(form).serializeArray();
    $.post(url, formData).done(function (data) {
        alert(data);
    });
}
$("#ajax-form").submit(function() {
submitForm($(this));
});
</script>
</html>

您可以有两个文件/页面来实现您的目的:

1. Form page
2. Ajax processing page where you request values will be inserted into your database.

将此添加到您的头牌中

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.js"></script>

使用 ajax 的步骤:

1. Include jquery library in form page
2. Include html form
3. Save values from ajax, that means process that ajax

HTML表单假设是这样的:

<form action="ajax_target.php" method="post" id="ajax-form">
<input type="text" name="firstname" />
<input type="submit" name="send" value="send" >
</form>

阿贾克斯调用:

    function submitForm(form){
    var url = form.attr("action");
    var formData = $(form).serializeArray();
    $.post(url, formData).done(function (data) {
        alert(data);
    });
}
$("#ajax-form").submit(function() {
submitForm($(this));
return false;
});

ajax_target.php处理 formData、其验证和插入到数据库。

您的 html/index 表单包含

<!DOCTYPE html>
<html>
<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.js"></script>
</head>
<body>
<form action="demo.php" method="post" id="ajax-form">
<input type="text" name="firstname" />
<input type="submit" name="send" value="send" >
</form>
</body>
<script>
function submitForm(form){
    var url = form.attr("action");
    var formData = $(form).serializeArray();
    $.post(url, formData).done(function (data) {
        alert(data);
    });
}
$("#ajax-form").submit(function() {
submitForm($(this));
return false;
});
</script>
</html>

您的演示.php包括

<?php
//your db insertion goes here.
echo "inserted successfully";
?>
<!DOCTYPE html>
<html>
<head>
 <link rel="stylesheet" href="navigation.css href="navigation/navigation.css">
  <link rel="stylesheet" href="navigation/navigation.css">
</head>
<body>
<form action="ajax_target.php" method="post" id="ajax-form">
<input type="text" name="firstname" />
<input type="submit" name ="send" value="send" >
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.form/3.51/jquery.form.min.js"></script>
<script>
    $(document).ready(function(){
        var options = {
            beforeSend: function () {
                   if (!confirm('Are you sure to submit ?')) {
                                return false;
                            }
                     },
            success: function (response) {
                            alert(response);
                   },
            error: function (response) {
                            alert(response);
                    };
                 }
                    $('#ajax-form').ajaxForm(options);
    });
        </script>
</body>
</html>

更新了索引.php