0

私は一日中この問題に悩まされてきました。助けていただければ幸いです:

「編集」ページがあります。

誰かがフォームを編集するときに「スティッキー」ラジオボタンを作成するために、変数を一番上に宣言しました。

正常に送信されましたが、フォーム アクションで「confirm.php」に戻ると、送信されたばかりのコンテンツがページに表示されません。

PHP_SELF を使用すると、フォーム内のコンテンツは編集前の状態に戻りますが、テーブルは更新されます。

<form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">

    <!-- ---------------------- -->
    <!-- RSVP SELECT -->
    RSVP:<br />
    <input type="radio" name="guestAccept" id="accept" value="yes"
    <?php 
        if($rows['guestAccept'] == 'yes'){
            echo 'checked="checked" ';
        }?>
    >Accepts with pleasure<br />

    <input type="radio" name="guestAccept" id="decline" value="no"
    <?php
        if ($rows['guestAccept'] == 'no'){
            echo 'checked="checked" ';
        }?>
    >Declines with regret<br />

    <br />

    <!-- ---------------------- -->
    <!-- MEAL SELECT -->
    <div id="mealSelect">
        Meal:<br />
        <input type="radio" name="guestMeal" value="fish"
        <?php
            if ($rows['guestMeal'] == 'fish'){
                echo 'checked="checked" ';
            }?>
        >Grilled Wild Pacific Salmon<br />
        <input type="radio" name="guestMeal" value="beef"
        <?php
            if ($rows['guestMeal'] == 'beef'){
                echo 'checked="checked" ';
            }?>
        >Roasted Beef Tenderloin<br />
        <input type="radio" name="guestMeal" value="veg"
        <?php
            if ($rows['guestMeal'] == 'veg'){
                echo 'checked="checked" ';
            }?>
        >Vegetarian Risotto<br />
        <br />
    </div>

    <!-- ---------------------- -->
    <!-- SUBMIT -->
    <input type="submit" name="submit" id="btnSubmit" value="Submit" />
</form>

<a href="confirm.php">Go Back</a>

<?php
    // Close WHILE LOOP
    }

    // checks to see if submit button was pressed
    if(isset($_POST['submit'])){

        $query = "UPDATE guest SET guestMeal = '$guestMeal', guestAccept = '$guestAccept' WHERE id = $id";
        mysql_query($query);


    }
?>

確認ページにリダイレクトするか、更新内容を含むフォームを表示する必要があります。立ち往生しています。どうすればこれを機能させることができますか?

ありがとう、

4

1 に答える 1

0

同じページで「コンテンツの編集」と「テーブルの更新」を行い、結果を別のページに表示すると、投稿されたデータがすべて失われます。結果を別のページに表示するには、次のいずれかの方法を実行できます。

  1. 投稿されたデータをセッション変数に保存して、別のページに取得できるようにします。

また

  1. 更新したばかりのレコードの ID をセッション変数に保存し、次に別のページに保存し、そのセッション変数を使用してデータベースからデータを取得し、表示します。
于 2011-07-04T04:09:59.627 に答える