test.php的
<?php
//CLICK SUBMIT BUTTON
if(isset($_POST['submit']))
{
$membername = $_POST['membername'];
$errors = '';
if(empty($membername))
{
$errors = "Please enter member name!<br />";
}
if($errors)
{
//MEMBER NAME TEXTFIELD EMPTY
//SHOW ERROR MESSAGE AND DISPLAY FORM AGAIN
echo '<span style="color:red;font-weight: bold;">'.$errors.'</span>';
displayForm();
}
else
{
//GO TO OUTPUT.PHP PAGE
header("Location:output.php");
exit();
}
}
else
{
displayForm();
}
?>
<?php
//DISPLAY FORM
function displayForm()
{
?>
<html>
<head></head>
<body>
<form action="test.php" method="post">
Member Name
<input type="text" name="membername" value="<?php if(isset($_POST['membername'])) echo $_POST['membername'];
else echo ''; ?>" /><br />
<input type="submit" name="submit" value="add" />
[HERE]
</form>
</body>
</html>
<?php
}
?>
在[HERE]
部分,我写了隐藏的输入字段:
<input type="hidden" name="mname" value="<?php echo $_POST['membername']; " />
之后,我转到output.php获取隐藏字段值:
<?php
echo $_POST['mname'];
?>
当我运行代码时,我收到此错误: 未定义的索引:mname
我的计划怎么了?
header()函数不能应用于$ _POST方法?
有什么解决方案可以解决吗?
答案 0 :(得分:1)
可能有两种解决方案可以在重定向页面上获取值:
<强> 1。按会话:
您可以将值放入会话中并进入重定向页面。
$_SESSION['mname'] = $_POST['mname'];
<强> 2。使用GET:
您可以在标题中发送值。
header("Location:output.php?val=$_POST['mname']");