Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在后台发送论坛而不重新加载页面_Php_Html_Ajax_Database - Fatal编程技术网

Php 在后台发送论坛而不重新加载页面

Php 在后台发送论坛而不重新加载页面,php,html,ajax,database,Php,Html,Ajax,Database,我有一个php论坛,它将信息发送到我的数据库并将其发送回该页面,但我遇到了一个小问题。当我提交论坛时,页面完全重新加载。这是我不想要的。为了完成我需要论坛在后台重新加载的任务。我一直在寻找一种方法来完成这项任务,但没有一个能帮我完成这项任务。这是下面的代码 //这是运行fourm的php文件 尝试将插入查询代码移动到单独的文件。例如register.php它应该返回简单的文本,就像successelse一样,并带有错误消息。通过这种方式,您可以轻松地检查Ajax成功回调中的数据 $server

我有一个php论坛,它将信息发送到我的数据库并将其发送回该页面,但我遇到了一个小问题。当我提交论坛时,页面完全重新加载。这是我不想要的。为了完成我需要论坛在后台重新加载的任务。我一直在寻找一种方法来完成这项任务,但没有一个能帮我完成这项任务。这是下面的代码

//这是运行fourm的php文件

尝试将插入查询代码移动到单独的文件。例如
register.php
它应该返回简单的文本,就像successelse一样,并带有错误消息。通过这种方式,您可以轻松地检查Ajax成功回调中的数据

$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 "success";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
参考:

谢谢@Darren我已经试着寻找如何使用它,但我找不到我能用的方法。检查我的答案。它一步一步地满足了你的需要。你能帮我告诉我最后一部分是什么吗?我能把它放在你的下面吗tag@Jack,这是不言自明的。无论如何,更新了答案,对其他用户更好。
header('Content-Type: application/json');

if ($conn->query($sql) === TRUE) {
   $message = "success";
} else {
   $message = "Error: " . $sql . "<br>" . $conn->error;
}
$result = '{"message": ' + $message + '}';
echo json_encode($result);
<form id="target" action="demo.php" method="post" />
<p>Input 1: <input type="text" name="firstname" /></p>
<input id="submit" type="submit" value="Submit" />
</form>
   <script type="text/javascript">
    $( "#target" ).submit(function( event ) {
      event.preventDefault();
      var jqxhr = $.post( "register.php", $(this).serialize(), function(data) {
        alert( "success" );
      })
      .done(function() {
        alert( "second success" );
      })
      .fail(function() {
        alert( "error" );
      })
      .always(function() {
        alert( "finished" );
    });
    });
    </script>