2ページあります。ページ 1 はユーザー データ入力用で、ページ 2 は並べ替えの確認のようなものです。insert.php という名前の php ファイルがあります。その唯一の仕事は、ページ 1 のデータを使用して mysql テーブルにデータを挿入することです。そのため、ページ 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();
}
?>
しかし、何らかの理由でこれが挿入されません。2ページ目にすべての挿入コードを挿入する前に、それは完全に機能しましたが、2ページ目に送信をクリックした場合にのみ挿入したかったので、これを行う必要がありました. なぜこれが機能しないのですか、何が間違っていますか?