PHP Form validation problem

Waubain

New Member
I am building a simulation for my students and I am trying to learn form validation. The following form has only one input. I have tried to piece together examples I find and from readings. The function works if the student leaves the input null, but does not catch any other errors and passes them to the next form as written. Thanks.

<?php
session_start();
if (isset($_POST['submit']))
{
$patient_id = check_input($_POST['patient_num'], "Enter Patient ID");
$_SESSION['patientid'] = $patient_id;
header('Location: pt_found.php');
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Patient Call Form</title>
<link rel="stylesheet" type="text/css" href="main.css" />
</head>

<body>
<form name="patientfindform" action="#" method="post">
<div>
<label>Patient ID:</label>
<input type="text" name="patient_num" /><br />
</div>

<div>
<label>&nbsp;</label>
<input type="submit" name="submit" value="Find Patient" /><br />

</div>
</form>
<script>
type="text/javascript">
document.patientfindform.patient_num.focus();
</script>
</div>
</body>
</html>
<?php
function check_input ($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data)== 0)
{
die($problem);
}
return $data;
}
?>
 
Top