我有 2 页。用户在第 1 页插入所有信息后,他们转到第 2 页。所有输入的信息都正确存储在 $_POST 中,因此我可以在下一页访问它。我也可以插入到 mysql 数据库中,没问题。我要做的是,如果他们单击第二页上的提交按钮,则只执行插入到数据库的代码。我试过这样做:
Page2.php
<script>
$(document).ready(function(e) {
$("#PaySubmit").click(function() {
$.ajax({
url: 'Insert.php'
});
});
});
</script>
<input type="submit" name="PaySubmit" id="PaySubmit" value="Continue"/>
插入.php
try {
$link = new PDO('mysql:host=****;dbname=****;charset=UTF-8','****','****');
$first = $_POST["fname"];
$last = $_POST["lname"];
$stmt = $link -> prepare("INSERT INTO Conference (`First Name`, `Last Name`) VALUES (:first, :last)");
$stmt->bindParam(':first', $first);
$stmt->bindParam(':last', $last);
$stmt->execute();
} catch(PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
问题是,当您在第二页上单击提交时,$_POST 被第二页的数据替换,因此我无法再访问第一页的数据。关于如何解决这个问题有什么想法吗?
最佳答案
存储当前 SESSION 中第一篇文章的所有值。
然后您可以使用 $_SESSION
全局访问它们。
看看 serialize function ,它可能会帮助你很多。或者 json_encode .它们对于将数组存储在一个变量中并在以后检索它非常有用。
关于PHP Mysql 仅在提交后插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12500773/