Форма отправляется, но я не знаю, как и почему? - PullRequest
0 голосов
/ 14 июля 2011

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

Это код дляформа:

<?php $owner = $_GET['user']; ?>

    <h2 class="dotted"><?php _e('Add feedback for user','appthemes'); echo " - ".$owner;?></h2>

        <form id='feedback' action='http://www.example.co.uk/add-feedback-response/?user=<?php echo $owner; ?>' method='POST' accept-charset='UTF-8'>
        <fieldset >

        <b>Your Username:</b> <?php echo $current_user->user_login; ?><br/><br/>

        <b>Rating: </b>
        <input type="radio" name="rating" value="positive" /> Positive
        <input type="radio" name="rating" value="neutral" /> Neutral
        <input type="radio" name="rating" value="negative" /> Negative<br/><br/>

        <label for='item' ><b>Item bought:</b></label>
        <input type="text" name='item' id='item' maxlength="500"/><br/><br/>

        <label for='comment' ><b>Comment:</b></label>
        <textarea name='comment' id='comment' maxlength="2500"></textarea><br/><br/>

        <input type="submit" id="submit-button" value="Submit Feedback" />

        </fieldset>
        </form>

Что-то мне не хватает?Спасибо за любую помощь

Ответы [ 2 ]

1 голос
/ 14 июля 2011

Возможно, вы пытаетесь снова отправить форму.Браузер предупреждает вас, что вы отправляете данные снова?

, чтобы ограничить это, используйте

header("Location: ".$_SERVER['HTTP_REFERER']);

в форме обработки

0 голосов
/ 14 июля 2011

Если вы обновите форму после ее отправки один раз, форма будет отправлена ​​снова. (браузер предупредил бы вас: «Вы уверены, что хотите снова отправить страницу» - не так ли?) Обновление - это «повторить последний запрос».

Если вы считаете, что такой сценарий возможен в вашем веб-приложении, вам придется обрабатывать повторяющиеся запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...