Skip navigation

Beginning PHP, Apache, MySQL Web Development

Chapter 5 Code - Form Elements: Letting the User Work with Data

Try It Out 1

form1.html - Try It Out 1

<html>
<head>
   <TITLE>Say My Name</TITLE>
</head>
<body>
<form action="formprocess1.php" method="post">
   <table border=0 cellspacing=1 cellpadding=3 bgcolor="#353535" align="center">
      <tr>
         <td bgcolor="#ffffff" width="50%">
            Name
         </td>
         <td bgcolor="#ffffff" width="50%">
            <INPUT type="TEXT" name="Name"><br />
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff" colspan=2 align="center">
            <INPUT type="SUBMIT" name="SUBMIT" value="Submit">
         </td>
      </tr>
   </table>
</form>
</body>
</html>

formprocess.php - Try It Out 1

<html>
<head>
   <title>Say My Name</title>
</head>
<body>
<?php
   echo "Hello ".$_POST['Name'];
?>
   <PRE>
   DEBUG :
<?php
   print_r($_POST);
?>
   </PRE>
</body>
</html>

Try It Out 2

form2.html - Try It Out 2

<html>
<head>
   <TITLE>Greetings Earthling</TITLE>
</head>
<body>
<form action="formprocess2.php" method="post">
   <table border=0 cellspacing=1 cellpadding=3 bgcolor="#353535"
   align="center">
      <tr>
         <td bgcolor="#ffffff" width="50%">
            Name
         </td>
         <td bgcolor="#ffffff" width="50%">
            <INPUT type="TEXT" name="Name">
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff">
            Greetings
         </td>
         <td bgcolor="#ffffff">
            <SELECT name="Greeting">
               <option value="Hello">Hello</option>
               <option value="Hola">Hola</option>
               <option value="Bonjour">Bonjour</option>
            </SELECT>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff" width="50%">
            Display Debug info
         </td>
         <td bgcolor="#ffffff" width="50%">
            <INPUT type="checkbox" name="Debug" CHECKED>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff" colspan=2 align="center">
            <INPUT type="SUBMIT" name="SUBMIT" value="Submit">
         </td>
      </tr>
   </table>
</form>
</body>
</html>

formprocess2.php - Try It Out 2

<html>
<head>
   <TITLE>Greetings Earthling</TITLE>
</head>
<body>
<?php
   if ($_POST['Debug'] == "on"){
?>
<PRE>
<?php
      print_r($_POST);
?>
</PRE>
<?php
   }
?>

<p align="center"><?php echo $_POST['Greeting']?> <?php echo $_POST['Name']?></p>
</body>
</html>

Try It Out 3

form3.php - Try It Out 3

<html>
<head>
   <TITLE>Add/Search Entry</TITLE>
</head>
<body>
<form action="formprocess3.php" method="post">
   <table border=0 cellspacing=1 cellpadding=3 bgcolor="#353535" align="center">
      <tr>
         <td bgcolor="#ffffff" width="50%">
            Name
         </td>
         <td bgcolor="#ffffff" width="50%">
            <INPUT type="TEXT" name="Name">
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff">
            What you are looking for
         </td>
         <td bgcolor="#ffffff">
            <SELECT name="MovieType">
               <option value="" SELECTED>Select a movie type...</option>
               <option value="Action">Action</option>
               <option value="Drama">Drama</option>
               <option value="Comedy">Comedy</option>
               <option value="Sci-Fi">Sci-Fi</option>
               <option value="War">War</option>
               <option value="Other">Other...</option>
            </SELECT>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff">
            Add what?
         </td>
         <td bgcolor="#ffffff">
            <INPUT type="radio" name="type" value="Movie" CHECKED>
            Movie<BR>
            <INPUT type="radio" name="type" value="Actor">
            Actor<BR>
            <INPUT type="radio" name="type" value="Director">
            Director<BR>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff" width="50%">
            Display Debug info
         </td>
         <td bgcolor="#ffffff" width="50%">
            <INPUT type="checkbox" name="Debug" CHECKED>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff" colspan=2 align="center">
            <INPUT type="SUBMIT" name="Submit" value="Search">
            <INPUT type="SUBMIT" name="Submit" value="Add">
         </td>
      </tr>
   </table>
</form>
</body>
</html>

formprocess3.php - Try It Out 3

<?php
   if ( $_POST['type'] == "Movie" && $_POST['MovieType'] == ""){
      header("Location:form3.php");
   }
   $title = $_POST['Submit']." ".$_POST['type']." : ".$_POST['Name'];
?>
<html>
<head>
   <TITLE><?php echo $title?></TITLE>
</head>
<body>
<?php
   if ($_POST['Debug'] == "on"){
?>
<PRE>
<?php
      print_r($_POST);
?>
</PRE>
<?php
   }
   $name = $_POST['Name'];
   $name[0] = strtoupper( $name[0]);
   if ($_POST['type'] == "Movie"){
      $foo = $_POST['MovieType'] ." ". $_POST['type'];
   } else {
      $foo = $_POST['type'];
   }
?>

<p align="center">
   You are <?php echo $_POST['Submit']?>ing
   <?php echo $_POST['Submit'] == "Search" ? "for " : "";?>
   a <?php echo $foo ?>
   named "<?php echo $name?>"
</p>
</body>
</html>

Try It Out 4

form4.php - Try It Out 4

<?php
// Debug info Display
function debugDisplay(){
?>
<PRE>
$_POST
<?php
   print_r($_POST);
?>
$_GET
<?php
   print_r($_GET);
?>
</PRE>
<?php
}

// Switch on search/add wizard step
switch( $_GET['step']){
// #################
//  Search/Add form
// #################
   case "1":
      $type = explode(":",$_POST['type']);
      if ($_POST['Submit']=="Add"){
         require($_POST['Submit'].$type[0].'.php');
      } else {
         if ( $_POST['type'] == "Movie:Movie" &&
              $_POST['MovieType'] == ""){
            header("Location:form4.php");
         }
?>
<h1>Search Results</h1>
<p>You are looking for a "<?php echo $type[1]?>" named "<?php echo $_POST['Name']?>"</p>
<?php
      }
      if ($_POST['Debug'] == "on"){
         debugDisplay();
      }
      break;
// #################
//  Add Summary
// #################
   case "2":
      $type = explode(":",$_POST['type']);
?>
<h1>New <?php echo $type[1]?> : <?php echo $_POST['Name']?></h1>
<?php
      switch( $type[0] ){
         case "Movie":
?>
<p>Released in <?php echo $_POST['MovieYear']?></p>
<p><?php echo nl2br(stripslashes($_POST['Desc']))?></p>
<?php
            break;
         default:
?>
<h2>Quick Bio</h2>
<p><?php echo nl2br(stripslashes($_POST['Bio']))?></p>
<?php
            break;
      }
      break;
// ###############
//  Starting form
// ###############
   default:
      require('startform.php');
      break;
}
?>

startform.php - Try It Out 4

<html>
<head>
   <TITLE>Multipurpose Form</TITLE>
</head>
<body>
<FORM action="form4.php?step=1" method="post">
   <table border=0 width="750" cellspacing=1 cellpadding=3 bgcolor="#353535" align="center">
      <tr>
         <td bgcolor="#ffffff" width="30%">
            Name
         </td>
         <td bgcolor="#ffffff" width="70%">
            <INPUT type="TEXT" name="Name">
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff">
            Item Type
         </td>
         <td bgcolor="#ffffff">
            <INPUT type="radio" name="type" value="Movie:Movie" CHECKED>
            Movie<BR>
            <INPUT type="radio" name="type" value="Person:Actor">
            Actor<BR>
            <INPUT type="radio" name="type" value="Person:Director">
            Director<BR>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff">
            Movie type (if applicable)
         </td>
         <td bgcolor="#ffffff">
            <SELECT name="MovieType">
               <option value="" SELECTED>Movie type...</option>
               <option value="Action">Action</option>
               <option value="Drama">Drama</option>
               <option value="Comedy">Comedy</option>
               <option value="Sci-Fi">Sci-Fi</option>
               <option value="War">War</option>
               <option value="Other">Other...</option>
            </SELECT>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff" width="50%">
            Display Debug Dump
         </td>
         <td bgcolor="#ffffff" width="50%">
            <INPUT type="checkbox" name="Debug" CHECKED>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff" colspan=2 align="center">
            <INPUT type="SUBMIT" name="Submit" value="Search">
            <INPUT type="SUBMIT" name="Submit" value="Add">
         </td>
      </tr>
   </table>
</FORM>
</body>
</html>

AddMovie.php - Try It Out 4

<?php
   if ( $_POST['type'] == "Movie:Movie" &&
        $_POST['MovieType'] == ""){
      header("Location:form4.php");
   }
   $title = $_POST['Submit']." ".$_POST['type']." : ".$_POST['Name'];
   $name = $_POST['Name'];
   $name[0] = strtoupper( $name[0]);
?>
<html>
<head>
   <TITLE><?php echo $title?></TITLE>
</head>
<body>
<FORM action="form4.php?step=2" method="post">
   <input type="hidden" name="type" value="<?php echo $type[1]?>">
   <input type="hidden" name="action" value="<?php echo $_POST['Submit']?>">
   <table border=0 width="750" cellspacing=1 cellpadding=3 bgcolor="#353535" align="center">
      <tr>
         <td bgcolor="#ffffff" width="30%">
            Movie Name
         </td>
         <td bgcolor="#ffffff" width="70%">
            <?php echo $name?>
            <input type="hidden" name="Name" value="<?php echo $name?>">
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff">
            Movie Type
         </td>
         <td bgcolor="#ffffff">
            <?php echo $_POST['MovieType']?><br />
            <input type="hidden" name="type" value="Movie: <?php echo $_POST['MovieType']?>">
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff">
            Movie Year
         </td>
         <td bgcolor="#ffffff">
            <SELECT name="MovieYear">
               <option value="" SELECTED>Select a year...</option>
<?php
for ($year=date("Y"); $year >= 1970 ;$year--){
?>
               <option value="<?php echo $year?>"><?php echo $year?></option>
<?php
}
?>
            </SELECT>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff">
            Movie Description
         </td>
         <td bgcolor="#ffffff">
            <textarea name="Desc" rows="5" cols="60"></textarea>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff" colspan=2 align="center">
            <INPUT type="SUBMIT" name="SUBMIT" value="Add">
         </td>
      </tr>
   </table>
</FORM>
</body>
</html>

AddPerson.php - Try It Out 4

<?php
   $title = $_POST['Submit']." ".$_POST['type']." : ".$_POST['Name'];
   $name = $_POST['Name'];
   $name[0] = strtoupper( $name[0]);
?>
<html>
<head>
   <TITLE><?php echo $title?></TITLE>
</head>
<body>
<FORM action="form4.php?step=2" method="post">
   <input type="hidden" name="type" value="Person: <?php echo $type[1]?>">
   <input type="hidden" name="action" value="<?php echo $_POST['Submit']?>">
   <table border=0 width="750" cellspacing=1 cellpadding=3 bgcolor="#353535" align="center">
      <tr>
         <td bgcolor="#ffffff" width="30%">
            <?php echo $type[1]?> Name
         </td>
         <td bgcolor="#ffffff" width="70%">
            <?php echo $name?>
            <input type="hidden" name="Name" value="<?php echo $name?>">
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff">
            Quick Bio
         </td>
         <td bgcolor="#ffffff">
            <textarea name="Bio" rows="5" cols="60"></textarea>
         </td>
      </tr>
      <tr>
         <td bgcolor="#ffffff" colspan=2 align="center">
            <INPUT type="SUBMIT" name="SUBMIT" value="Add">
         </td>
      </tr>
   </table>
</FORM>
</body>
</html>