以下是我的代碼。當驗證完成並即將填充「成功」消息時,我會得到一個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);
?>
的錯誤意味着'$錯誤[」 fname']'沒有定義。您應該初始化它以擺脫錯誤消息。 – wroniasty
感謝wroniasty。你能詳細介紹一下初始化部分。 –
@MohanWijesena是你的代碼嗎? –