После проверки формы, как вы перенаправляете на новый URL с PHP - PullRequest
0 голосов
/ 11 марта 2010

Я очень новичок в бэкэнд-работе в сети и пытаюсь создать форму для своего театра, где кто-то может отправить форму космического запроса. У меня есть форма, она работает, но я хочу, чтобы после того, как они нажали «отправить», форма была проверена и отправлена ​​нам по электронной почте, они будут перенаправлены на страницу «Спасибо». Я пытался использовать поведения в Dreamweaver CS3, но если я использую URL-адрес onClick-> goto, он пойдет, но если страница не будет подтверждена, я все равно получу неполное предупреждение, и у них нет шансов исправить его. В настоящее время проверка работает, но у меня нет URL onClick-> goto, и он просто обновляется с пустой формой.

Вот PHP, который я использовал:

<?

if(sizeof($_POST)) {
$body = "";
while(list($key, $val) = each($HTTP_POST_VARS)) {
$body .= "$key: $val \n";
}

mail("rentals@woollymammoth.net", 
"Rental Request",
$body);


?>

вот Javascript:

   <form action=<? echo $PHP_SELF; ?> method="post" name="rentalRequest"  onSubmit="MM_validateForm('firstName','','R','lastName','','R','organization','','R','emailAddress','','RisEmail','phone','','R','address1','','R','city','''R','guestNumber','','RisNum','timeStart','','R');return document.MM_returnValue">    

Я потратил лучшую часть дня на изучение этого онлайн и не могу найти ответ. Любая помощь будет принята с благодарностью. Я готов отправить куки всем, кто сможет мне помочь.

Ответы [ 3 ]

2 голосов
/ 11 марта 2010

В PHP вы можете перенаправить, используя этот код:

header("Location: thanks.php");

Добавьте это после того, как вы обработали отправку формы. Для полноты рассмотрите добавление exit(); после функции header(), чтобы предотвратить дальнейшее выполнение.

2 голосов
/ 11 марта 2010

Вы должны отправить заголовок HTTP Location; это может быть сделано в PHP с помощью кода, такого как этот пример:

header('Location: http://www.example.com');
exit();

Пара заметок:

  • Функция header должна быть вызвана перед отправкой любого вывода в браузер.
  • Вызов exit() гарантирует, что ваш скрипт действительно завершится сразу после вызова header()
  • Теоретически вы должны использовать абсолютный URL (например, http://www.example.com/test.php) для заголовка HTTP Location - даже если относительный URL (например, test.php) обычно работает в браузерах.
0 голосов
/ 11 марта 2010

Вы можете использовать функцию header() в php, чтобы изменить переменную 'location', подробнее @ http://php.net/manual/en/function.header.php: -)

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