Hej igen herinde,
Jeg sidder med noget simpelt form validation, som jeg ikke kan få til at virke. Det kører over 2 filer. form.php og form_validation.php.
Meningen med scripted er at den skal skrive fejl med rødt over det form field der er ikke er udfyldt, og ellers poste som normalt. I dette tilfælde er der kun ét formfield, nemlig
name.
Der sker det at når jeg trykker submit uden noget i feltet så sker der intet. Jeg får ingen rød tekst over tekstfeltet. Taster jeg noget ind går den videre som den skulle.
form.php
<?php
function fieldError($fieldName, $errors)
{
if (isset($errors[$fieldName]))
echo "<font color=\"red\">" .
$errors[$fieldName] .
"</font><br>";
}
session_start();
?>
<head>
<title>Untitled Document</title>
</head>
<body>
<form method="POST" action="form_validation.php">
<table>
<tr>
<td width="30%">Name:</td>
<td width="70%"><?php echo fieldError("name", $errors); ?>
<input type="text" name="name" size="20" maxlength="50" /></td>
</tr>
</table>
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
form_validation.php
<?php
session_start();
$errors = array();
$name=$_REQUEST['name'];
if (empty($name))
$errors["name"] =
"The name field cannot be blank.";
if (count($errors) > 0 )
{
$_SESSION["errors"] = $errors;
header("Location: form.php");
exit;
}
else
{
print "Form has been validated\n";
print "<form><input type=button value=\"<- Go Back\"
onClick=\"Javascript:history.back();\"></form>\n";
}
?>
På forhånd tak,
Rasmus Esbensen
Indlæg senest redigeret d. 01.04.2009 15:52 af Bruger #14839