PHP - 表单提交页面重新加载

时间:2011-07-04 03:52:59

标签: php forms sticky

我整天都被困在这个问题上。非常感谢帮助:

我有一个'编辑'页面。

当有人去编辑表单时,我已经将我的变量声明为“粘性”单选按钮。

我已成功提交,但如果我使用表单操作返回“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);


    }
?>

我需要重定向到确认页面,或者显示包含更新内容的表单。 我被困了,我该怎么做才能做到这一点?

谢谢,

1 个答案:

答案 0 :(得分:0)

如果您在同一页面上执行“编辑内容”和“更新表格”并将结果显示在其他页面上,您将丢失所有发布的数据。要将结果显示到另一个页面,您可以采用以下任一方式:

  1. 将发布的数据存储到会话变量中,以便您可以将它们检索到另一个页面。
    1. 将刚刚更新的记录的ID存储到会话变量,然后存储到另一个页面,使用该会话变量从数据库中检索数据,然后显示它们。