php Form, Validation & Preview in same page

php Form, Validation & Preview in same page

Hi , 

I already build a form as php_self , i want to make it validation and preview on same page ; 1 file only .

The source code :

  1. <?php
  2. // validate data 
  3. $fnameErr = $lnameErr  = "";

  4. if ($_SERVER["REQUEST_METHOD"] == "POST") {    
  5.   if (empty($_POST["fname"])) {
  6.       $fnameErr = "First name is required";
  7.     }
  8. elseif (preg_match("/^[A-Z][a-zA-Z -]+$/", $_POST["fname"]) === 0) {
  9.   $fnameErr = "First name must contain letters and spaces only";
  10. }
  11. else  {
  12. $fname = $_POST["fname"];
  13.     if (empty($_POST["lname"])) {
  14.         $lnameErr = "Last name is required";
  15.     }
  16. elseif (preg_match("/^[A-Z][a-zA-Z -]+$/", $_POST["lname"]) === 0) {
  17.   $lnameErr = "Last name must contain letters and spaces only";
  18. }
  19.     else {
  20.         $lname = $_POST["lname"];
  21.     }
  22.    
  23.    }



  24. ?>
  25.    
  26. <title>Untitled 1</title>
  27. <style type="text/css">
  28. .style1 {
  29.     border-collapse: collapse;
  30.     border: 1px solid #000000;
  31.     background-color: #99FF99;
  32. }
  33. .style3 {
  34.     text-align: center;
  35.     font-size: large;
  36. }
  37. .style4 {
  38.     color: #0000FF;
  39. }
  40. .style5 {
  41.     text-align: center;
  42. }
  43. .style6 {
  44.     background-color: #FEFECB;
  45. }
  46. .error {
  47.     color: #FF0000;
  48. }
  49. </style>
  50. <script src="jquery-1.10.2.js"></script>
  51. </head>
  52. <body>
  53. <table style="width: 600px" cellspacing="0" cellpadding="25" align="center" class="style1">
  54.     <tr>
  55.     <form method="POST"
  56.  action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">     <td>
  57.         <div class="style3">
  58.             :: <strong><span class="style4">STUDENT INFORMATION</span> </strong>
  59.             ::</div>
  60.         <table style="width: 100%">
  61.                     </table>
  62.         <table style="width: 100%" class="style6" cellpadding="5">
  63.             <tr>
  64.                 <td style="height: 30px; width: 106px">First Name&nbsp;</td>
  65.                 <td style="width: 14px; height: 30px;" class="style5"><strong>:</strong></td>
  66.                 <td style="width: 204px; height: 30px;"><input name="fname" type="text" value="<?php echo htmlspecialchars($fname);?>">&nbsp;</td>
  67.                 <td style="height: 30px"><span class="error"><?php echo $fnameErr;?></span></td>
  68.             </tr>
  69.             <tr>
  70.                 <td style="width: 106px">&nbsp;</td>
  71.                 <td style="width: 14px" class="style5"><strong></strong></td>
  72.                 <td style="width: 204px">&nbsp;</td>
  73.                 <td>&nbsp;</td>
  74.             </tr>
  75.             <tr>
  76.                 <td style="width: 106px">Last Name</td>
  77.                 <td style="width: 14px" class="style5"><strong>:</strong></td>
  78.                 <td style="width: 204px"><input name="lname" type="text" value="<?php echo htmlspecialchars($lname);?>"></td>
  79.                 <td><span class="error"><?php echo $lnameErr;?></span></td>
  80.             </tr>    
  81.         </table>
  82.         </td>
  83.         </form>
  84.     </tr>
  85. </table>
  86. </body>
  87. </html>


  88. --------this code below i want to become as preview page ---------
  89. <body>

  90. <table style="width: 600px" cellspacing="0" cellpadding="25" align="center" class="style1">
  91.   <tr>
  92.     <td>
  93.       <div class="style3">
  94.         :: <strong><span class="style4">STUDENT INFORMATION</span> </strong>
  95.         ::</div>
  96.       <table style="width: 100%">
  97.       </table>
  98.       <table style="width: 100%" class="style6" cellpadding="5">
  99.         <tr>
  100.           <td style="height: 27px; width: 106px">First Name&nbsp;</td>
  101.           <td style="width: 14px; height: 27px;" class="style5"><strong>:</strong></td>
  102.           <td style="width: 204px; height: 27px;">echo $fname </td>
  103.           <td style="height: 27px"><span class="error"></span></td>
  104.         </tr>
  105.         <tr>
  106.           <td style="width: 106px">&nbsp;</td>
  107.           <td style="width: 14px" class="style5"><strong></strong></td>
  108.           <td style="width: 204px">&nbsp;</td>
  109.           <td>&nbsp;</td>
  110.         </tr>
  111.         <tr>
  112.           <td style="width: 106px">Last Name</td>
  113.           <td style="width: 14px" class="style5"><strong>:</strong></td>
  114.           <td style="width: 204px"> echo $lname &nbsp;</td>
  115.           <td><span class="error"></span></td>
  116.         </tr>
  117.         <tr>
  118.           <td style="width: 106px">&nbsp;</td>
  119.           <td style="width: 14px" class="style5"><strong></strong></td>
  120.           <td style="width: 204px">&nbsp;</td>
  121.           <td>&nbsp;</td>
  122.         </tr>
  123.         <tr>
  124.           <td style="width: 106px">&nbsp;</td>
  125.           <td style="width: 14px" class="style5"><strong></strong></td>
  126.           <td style="width: 204px">&nbsp;</td>
  127.           <td>&nbsp;</td>
  128.         </tr>
  129.       </table>
  130.     </td>
  131.   </tr>
  132. </table>
  133. </body>
  134. </html>

I already ask , google but found nothing . Any feedback really appreciate . Thank you