0

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ページ目に送信をクリックした場合にのみ挿入したかったので、これを行う必要がありました. なぜこれが機能しないのですか、何が間違っていますか?

4

2 に答える 2

0

session_start()ブラウザに何かをエコーする前に呼び出す必要があります

<?php
    session_start();
?>
<script>
$(document).ready(function(e) {
    $("#PaySubmit").click(function() {
        alert("done");
        $.ajax({
            url: 'Insert.php'
        });
    });
});
</script>
<?php 
$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>

更新 挿入ファイルはInsert.phpまたはinsert.phpと呼ばれていますか?Linuxシステムではケースが重要

于 2012-09-19T19:26:10.783 に答える
0

あなたは間違っている

$stmt->execute()
于 2012-09-19T19:16:59.440 に答える