Source of: example.6-6.php

<?
/*
Source code example for Web Database Applications

Unless otherwise stated, the source code distributed with this book can be
redistributed in source or binary form so long as an acknowledgment appears
in derived source files.
The citation should list that the code comes from Hugh E.
Williams and David Lane, "Web Database Application with PHP and MySQL"
published by O'Reilly & Associates.
This code is under copyright and cannot be included in any other book,
publication, or educational product without permission from O'Reilly &
Associates.
No warranty is attached; we cannot take responsibility for errors or fitness
for use.
*/
?>
<?php
  
include 'error.inc';
  include 
'db.inc';

  
// Initialise an error string
  
$errorString "";
  
  
// Clean and trim the POSTed values  
  
foreach($HTTP_POST_VARS as $varname => $value)
      
$formVars[$varname] = trim(clean($value50));
  
  
// Vaildate the firstname
  
if (empty($formVars["firstName"])) 
      
// First name cannot be a null string
      
$errorString .=
          
"\n<br>The first name field cannot be blank.";
  
  
// Validate the Surname
  
if (empty($formVars["surname"]))
      
// the user's surname cannot be a null string
      
$errorString .=
          
"\n<br>The surname field cannot be blank.";
  
  
// Validate the Address
  
if (empty($formVars["address1"]))
      
// the user's address cannot be a null string
      
$errorString .=
          
"\n<br>You must supply at least one address line.";
  
  
// Validate the City
  
if (empty($formVars["city"]))
      
// the user's city cannot be a null string
      
$errorString .= "\n<br>You must supply a city.";
  
  
// Validate Date of Birth
  
if (empty($formVars["dob"]))
      
// the user's date of birth cannot be a null string
      
$errorString .= "\n<br>You must supply a date of birth.";
  
  elseif (!
ereg("^([0-9]{2})/([0-9]{2})/([0-9]{4})$"$formVars["dob"], $parts))
      
// Check the format
      
$errorString .= 
      
"\n<br>The date of birth is not a valid date in the format DD/MM/YYYY";  
  
  if (empty(
$formVars["email"])) 
      
// the user's email cannot be a null string
      
$errorString .= "\n<br>You must supply an email address.";
  
  
// Now the script has finished the validation, 
  // check if there were any errors
  
if (!empty($errorString))
  {
      
// There are errors.  Show them and exit.
?>
<!DOCTYPE HTML PUBLIC 
   "-//W3C//DTD HTML 4.0 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head><title>Customer Details Error</title></head>
<body bgcolor="white">  
<h1>Customer Details Error</h1>
<?=$errorString?>
<br><a href="example.6-5.php">Return to the customer form</a>
</body>
</html>
<?php      
      
exit;
  }

  
// If we made it here, then the data is valid

  
if (!($connection = @ mysql_pconnect($hostName
                                       
$username
                                       
$password)))
     die(
"Could not connect to database");

  if (!
mysql_select_db($databaseName$connection))
     
showerror();
     
  
// Reassemble the date of birth into database format
  
$dob " \"$parts[3]-$parts[2]-$parts[1]\"";
  
  
// Create a query to insert the customer
  
$query "INSERT INTO customer
           set cust_id = NULL, " 
.
           
"surname = \"" $formVars["surname"] . "\", " .
           
"firstname = \"" $formVars["firstName"] . "\", " .                    
           
"addressline1 = \"" $formVars["address1"] . "\", " .
           
"city = \"" $formVars["city"] . "\", " .
           
"email = \"" $formVars["email"] . "\", " .
           
"birth_date = $dob";

  
// Run the query on the customer table
  
if (!(@ mysql_query ($query$connection)))
     
showerror();   

  
// Find out the cust_id of the new customer
  
$custID mysql_insert_id();
  
  
// Now show the customer receipt
  
header("Location: customer_receipt.php?custID=$custID");
?>


© 2000--2001 Hugh E. Williams and David Lane.
Valid HTML 4.01!