通过JSON将MySQLi INSERT状态返回到以前的网页

时间:2016-11-16 10:03:21

标签: php ajax

我创建了一个addarticle.php文件,该文件根据来自单独index.php文件的表单数据将新条目插入到我的数据库中。

我的问题是,如何将awk返回到我的上一页?

我希望能够实现类似于here所描述的内容,但具有'成功状态'

我知道我可以在index.php文件中使用json_encode($success);,并使用include('addarticle.php');变量。

还有其他方法可以返回交易状态吗?谢谢!

addarticle.php

$success

的index.php

<?php
$servername = "example.something.com";
$username = "edwin";
$password = "123456";
$dbname = "testdb";

$success;

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$title = mysqli_real_escape_string($conn, $_POST['title']);
//$title = $_POST['title'];
$article = mysqli_real_escape_string($conn, $_POST['article']);
$imageurl1 = $_POST['imageurl1'];
$imageurl2 = $_POST['imageurl2'];
$imageurl3 = $_POST['imageurl3'];

$sql = "INSERT INTO Articles (Title, TextBody, ImageURL1,ImageURL2,ImageURL3)
VALUES ('$title','$article','$imageurl1','$imageurl2','$imageurl3')";

if ($conn->query($sql) === TRUE) {
    $success = true;
} else {
    $success = false;
}

echo json_encode($success);

$conn->close();

?>

2 个答案:

答案 0 :(得分:1)

查看您提供的代码:首先,为什么json_encode一个布尔值?在这种情况下,没有真正需要它。为此,您可以使用$ _GET请求轻松地将该布尔值发送到任何页面。

像这样:

$url = "anypage.php?status=" + $status;
header("Location: " + $url);

在anypage.php

if(isset($_GET["status"])){
  $status = $_GET["status"]; // either true or false
}

或者,您可以采用AJAX方式实现它。

如果您使用的是jQuery: http://www.w3schools.com/jquery/ajax_ajax.asp

答案 1 :(得分:-1)

使用ajax获取你的json响应,如下所示

$.ajax({ url: 'addarticle.php',
    cache: false,
    type: 'post'
}).done(function(response) {
    console.log(response);
});