以下是我的代码。undefined index error
当验证完成并即将填充“成功”消息时,我得到一个消息。
我已经挖掘并确定了问题所在(<td><?= $errors['fname'] ?></td>
),但我不明白定义导致错误的索引的正确方法是什么。有人可以强调我哪里出错了吗?谢谢。
<?php
function VerifyForm(&$values, &$errors)
{
if($values['fname'] == "")
{$errors['fname'] = 'empty';}
}
function DisplayForm($values, $errors)
{
?>
<html>
<head>
<title>Register</title>
</head>
<body>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
<table border="1">
<tr>
<td>First Name :</td>
<td><input type="text" name="fname" value="<?= htmlentities($values['fname']) ?>"/>
<td><?= $errors['fname'] ?></td>
</tr>
<tr><td colspan="2" align="center"><input type="submit" value="Submit"></td></tr>
</table>
</form>
</body>
</html>
<?php
}
function ProcessForm($values)
{
echo ("<p>Your record has been successfully added!</p>");
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$formValues = $_POST;
$formErrors = array();
if (!VerifyForm($formValues, $formErrors))
DisplayForm($formValues, $formErrors);
else
ProcessForm($formValues);
}
else
DisplayForm(null, null);
?>