Ex No: 7 Write a program to Perform Form Validation in Railway Reservation Form
Aim: To perform form validation in railway reservation form using php
Algorithm
Step1: Design a webpage to perform railway ticket reservation and mark required fields with *.
Step2: On form submit check if data is posted
   A) Get From station name, To station Name, Train No, Date of Journey, Number of passengers and Passenger detailsvalues.
   B) Check each field if it is empty..
    i) If empty assign error flag value for that field.
   C) Else assign the values to a variable.
   D) Check each field all the error fields are empty.
    i) If empty Display the Ticket Details.
   E) Else Display the form with error field data.
            
<html>
<head>
 <title>Form Validation</title>
 <style>
  .error {color: #FF0000;}
 </style>
 
</head>
<body>
  <?php
  
  // define variables and set to empty values
  $fromsterr = $tosterr = $joudterr = $errflag = $numpasserr = $tnoerr = "";
  $passerr = ["","","",""];
  $style = "";
  
  $fromst = $tost = $joudate = $numpass = "";
         
  if ($_SERVER["REQUEST_METHOD"] == "POST") 
  {
   if (empty($_POST["fromst"])) 
   {
    $fromsterr = "From Station is required";
   }
   else 
   {
    $fromst = $_POST["fromst"];
   }
            
   if (empty($_POST["tost"])) 
   {
   	$tosterr = "To Station is required";
   }
   else 
   {
   	$tost = $_POST["tost"];   
   }
   
   if(empty($_POST["trainno"]))
   {
   	$tnoerr = "Enter Train Number";
   }
   else
   {
   	$trainno = $_POST["trainno"];
   }
            
   if (empty($_POST["joudate"])) 
   {
   	$joudterr = "Select Journey Date";
   }
   else 
   {
   	$joudate = $_POST["joudate"];
   }
   
   if(empty($_POST["numpass"]))
   {
   	$numpasserr = "Enter Number of Passengers";
   }
   else
   {
    $numpass = $_POST["numpass"];   	
   }
   $passname = $_POST["passname"];
   $passage = $_POST["passage"];
   $passgdr = $_POST["passgdr"];
   $passbrth = $_POST["passbrth"];
   for($i=0;$i<$numpass;$i++)
   {
   	if(empty($passname[$i]) or empty($passage[$i]) or empty($passgdr[$i]) or empty($passbrth[$i]))
   	{
	 $passerr[$i] = "Enter Passenger details";
	 $errflag = "error";
	}   	 
   }
   if(empty($fromsterr) and empty($tosterr) and empty($tnoerr) and empty($joudterr) and empty($numpasserr) and empty($errflag))
   {
   	echo "<h2>Ticket Reservation Details</h2>";
   	echo "<br>Train No:". $trainno;
    echo "<br>From: ".$fromst;
    echo "<br>To: ".$tost;
    echo "<br>Date of Journey: ".$joudate;
    echo "<br><b>Passenger Details</b><br>";
    echo "<table style='border: 2px solid black;'><tr><th>Name</th><th>Age</th><th>Gender</th><th>Berth</th><th></th></tr>";
    for($i=0;$i<$numpass;$i++)
     echo "<tr><td>$passname[$i]</td><td>$passage[$i]</td><td>$passgdr[$i]</td><td>$passbrth[$i]</td></tr>";
    echo "</table><br><br>";
    $style = 'style="display: none;"';
   }
   
  }
 ?>    
<div  <?php echo $style; ?>> 
<h3><u>Railway Ticket Reservation</u></h3> 
 <p><span class = "error">* required field.</span></p>
 <form method = "post" action = " <?php echo $_SERVER["PHP_SELF"];?>">
  <table>
   <tr>
    <td>From:</td>
    <td>
     <input type = "text" name = "fromst">
     <span class = "error">*  <?php echo $fromsterr;?></span>
    </td>
    <td>To:</td>
    <td>
     <input type = "text" name = "tost">
     <span class = "error">*  <?php echo $tosterr;?></span>    	
    </td>
   <tr>
    <td>Train No: </td>
    <td><input type ="text" name = "trainno">
     <span class = "error">*  <?php echo $tnoerr;?></span>
    </td>
   </tr>
   </tr>
   <tr>
    <td>Date of Journey: </td>
    <td><input type = "date" name = "joudate">
     <span class = "error">*  <?php echo $joudterr;?></span>
    </td>
   </tr>
   <tr>
    <td>Number of Passengers:</td>
    <td> 
     <input type ="number" min="0" max="4" name = "numpass">
     <span class = "error">*  <?php echo $numpasserr;?></span>
    </td>
   </tr>
   <tr>
    <td colspan="4">
     <table style="border: 2px solid black;"> 
      <tr>
       <th>Name</th>
       <th>Age</th>
       <th>Gender</th>
       <th>Berth</th>
       <th></th>
      </tr>  
      <tr>
       <td><input type="text" name="passname[]"/></td>
       <td><input type="text" name="passage[]"/></td>
       <td><input list="gender" name="passgdr[]"/></td>
       <td><input list="berth" name="passbrth[]"/></td>
       <td><span class = "error">*  <?php echo $passerr[0];?></span></td>
      </tr>
      <tr>
       <td><input type="text" name="passname[]"/></td>
       <td><input type="text" name="passage[]"/></td>
       <td><input list="gender" name="passgdr[]"/></td>
       <td><input list="berth" name="passbrth[]"/></td>
       <td><span class = "error">*  <?php echo $passerr[1];?></span></td>
      </tr>
      <tr>
       <td><input type="text" name="passname[]"/></td>
       <td><input type="text" name="passage[]"/></td>
       <td><input list="gender" name="passgdr[]"/></td>
       <td><input list="berth" name="passbrth[]"/></td>
       <td><span class = "error">*  <?php echo $passerr[2];?></span></td>
      </tr>
      <tr>
       <td><input type="text" name="passname[]"/></td>
       <td><input type="text" name="passage[]"/></td>
       <td><input list="gender" name="passgdr[]"/></td>
       <td><input list="berth" name="passbrth[]"/></td>
       <td><span class = "error">*  <?php echo $passerr[3];?></span></td>
      </tr>
      <datalist id="gender">
      	<option value="Male">
      	<option value="Female">
      </datalist>
      <datalist id="berth">
      	<option value="Lower">
      	<option value="Middle">
      	<option value="Upper">
      	<option value="Side Lower">
      	<option value="Side Upper">
      </datalist>      
     </table>	
    </td>
   </tr>
    <td>
     <input type = "submit" name = "submit" value = "Submit"> 
    </td>
  </table>
 </form>
</div>		
 </body>
</html>

            
Result: Thus a webpage is designed using php perform form validation in Railway Reservation Form.