我有 2 页。第 1 页用于用户数据输入,第 2 页类似于某种确认。我有一个名为 insert.php 的 php 文件,它的唯一工作是将数据插入到 mysql 表中,其中包含第 1 页的数据。所以在第 2 页上,我将包含第 1 页中所有数据的 $_POST 数组复制到会话中。这里是:
<script>
$(document).ready(function(e) {
$("#PaySubmit").click(function() {
alert("done");
$.ajax({
url: 'Insert.php'
});
});
});
</script>
<?php
session_start();
$prev_url1 = substr($_SERVER['HTTP_REFERER'],-18);
$_SESSION = array_merge($_POST);
?>
<form id="pay" name="pay" method="post" action="RandomPage.php">
<input type="submit" name="PaySubmit" id="PaySubmit" value="Continue"/>
</form>
在插入中,代码如下:
<?php
session_start();
try {
$link = new PDO('mysql:host=;dbname=;charset=UTF-8','','');
$gid = $link->prepare("SELECT MAX(Group_ID) as maxGroup FROM Conference");
$gid->execute();
$groupid = $gid->fetch(PDO::FETCH_ASSOC);
$groupid = $groupid['maxGroup']+1;
$regisid = $groupid;
$first = $_SESSION["fname"];
$last = $_SESSION["lname"];
$addr = $_SESSION["address"];
$city = $_SESSION["city"];
$state = $_SESSION["state"];
$stmt = $link -> prepare("INSERT INTO Conference (`Registrar_ID`, `Group_ID`, `First Name`, `Last Name`, `Address`, `City`, `State`) VALUES (:regisid, :groupid, :first, :last, :addr, :city, :state)");
$stmt->bindParam(':regisid', $regisid);
$stmt->bindParam(':groupid', $groupid);
$stmt->bindParam(':first', $first);
$stmt->bindParam(':last', $last);
$stmt->bindParam(':addr', $addr);
$stmt->bindParam(':city', $city);
$stmt->bindParam(':state', $state);
} catch(PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
但由于某种原因,这只是不会被插入。在我刚刚在第二页中插入所有代码并且它运行良好之前,但我希望它只有在他们点击第二页上的提交时才插入,这就是我必须这样做的原因。为什么这不起作用,我做错了什么?