Jump to content

Form validation problem


waubain

Recommended Posts

I am building a hospital chart simulation for my pharmacy students and I am trying to learn PHP. Today is 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 typed. The Patient ID is a 6 digit numeric between 100000 and 999999 and the 'patientid' will eventually be placed in a MySQL query to see if a patient with that number exists, but one question at a time. Thanks for any help.

 

<?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> </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;

}

?>

Link to comment
https://forums.phpfreaks.com/topic/236592-form-validation-problem/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.