PHP - перезагрузка страницы при отправке формы - PullRequest
0 голосов
/ 04 июля 2011

Я застрял на этой проблеме весь день. Помощь будет принята с благодарностью:

У меня есть страница редактирования.

Я объявил свои переменные вверху, чтобы сделать «залипшие» переключатели, когда кто-то идет на редактирование формы.

Я успешно отправляю его, однако, если я вернусь к файлу "verify.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 голосов
/ 04 июля 2011

Если вы выполните «редактирование содержимого» и «обновление таблицы» на одной странице и отобразите результат на другой странице, вы потеряете все опубликованные данные.Чтобы отобразить результаты на другой странице, вы можете сделать один из следующих способов:

  1. Сохранить опубликованные данные в переменных сеанса, чтобы их можно было извлечь на другую страницу.

или

  1. Сохраните идентификатор только что обновленной записи в переменной сеанса, затем на другой странице, используйте эту переменную сеанса для получения данных из базы данных, а затем отобразите их.
...