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 回答