我正在使用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()
重定向不会发生的表单代码发生了什么。
任何帮助将不胜感激!
答案 0 :(得分:3)
您必须在$ _POST超全局中检查帖子数据。 Register_globals已关闭。
if (isset($_POST['formSubmit'])) {
//etc.
答案 1 :(得分:0)
100%使用之前,顶部没有空行