Заголовок PHP не перенаправляет при использовании форм - PullRequest
0 голосов
/ 20 января 2010

Я делаю проверку формы, используя скрипт PHP. Первоначально я написал этот код в 2007 году, но теперь он просто перестал работать, и я пытался выяснить, почему.

Вот код:

<?php
$error_msg = '';

// Only Validate Form when it is submitted
if (isset($formSubmit)) {
   if (!isset($_SESSION["First_Name"])) {
     $get_mbr_id = urlencode ($_POST["GetMbrID"]);
     $_SESSION["MemberID"] = $get_mbr_id;
     }

   if (!headers_sent()) {
     header ("Location: mywebsite.com");
     exit (0);
     }
}

if (isset($formExit)) {
  if (!headers_sent()) {
    header ('Location: mywebsiteexit.com');
    exit (0);
    }
}
?>
<html><head></head><body>
<form name="select_action" method="POST" action="select_action">
<br>
<center>
<input type="submit" name="formSubmit" value="Next">
<input type="reset" name="fieldReset" value="Reset">
<input type="submit" name="formExit" value="Cancel">
</center>
</form></body></html>

Если присутствует код формы HTML, перенаправление заголовка не работает.

Однако, если я удалю код формы HTML, изменим оператор if(isset(formSubmit)) на if(!isset(formSubmit)), перенаправление заголовка будет работать.

Я не могу понять, что происходит с кодом формы, из-за которого перенаправление header() не происходит.

Буду признателен за любую помощь!

Ответы [ 2 ]

3 голосов
/ 20 января 2010

Вы должны проверить данные сообщений в суперглобальном $ _POST. Register_globals выключен.

if (isset($_POST['formSubmit'])) {
//etc.
0 голосов
/ 20 января 2010

Убедитесь, что наверху нет пустой строки

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