Форма отправки PHP обратно в шапку - PullRequest
0 голосов
/ 15 августа 2011

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

Предположим, у меня есть страница addCompany.php, и она имеет форму. И у меня есть вторая страница action.php. Форма в addCompany.php отправляется на страницу action.php. Я проверяю форму для проверки. Я вижу ошибку и хочу отправить форму обратно на addCompany.php. Обычно я могу отправить его по строке запроса, однако это небезопасно из-за ограничения по количеству символов. Поэтому я хочу отправить форму обратно, пока я перенаправляю вот так header('Location:addCompany.php')

1 Ответ

0 голосов
/ 15 августа 2011

Обычная процедура - обработка формы на той же странице, и если проверка в порядке, вы перенаправляете на следующий этап, в противном случае переходите обратно к форме.

Вот пример псевдокодирования:

<?php
// form.php

if( isset( $_POST[ 'submit' ] ) && form_validates( $_POST ) ) {
    // do what you want with the data
    // redirect to the next stage
    header( 'Location: next.php' );
    die();
}

// didn't validate or no submit yet, show the form again

if( isset( $_POST[ 'email' ] ) ) {
    $email = $_POST[ 'email' ];
}
else {
    $email = '';
}
?>
<form action="form.php"> <!-- submit to same page -->
<input type="text" name="email" value="<?php echo $email; ?>" />
<?php if( /* email field didn't validate */ ) {
    echo 'Please enter a valid email address';
} ?>
<input type="submit" name="submit" />
</form>
...