When I fill my Contact Form

1) select option TITLE (MR. MRS. MISS)
2)First Name
3)Last Name
4) E-mail

I make validation to all data, The question is when I select title e.g. MR and then fill first name, last name AND e-mail IS NOT right (info2company.com) validation said *Email invalid, then I write my e-mail right (info@company.com) and click SEND button then validation said * title not entered.

I wanna hold my option data please help, I fight 3 days now...

here is my code:

register.php

<?php
/**
 * Register.php
 * Last Updated: 5-9-2009
 */
include("include/session.php");
?>

<html>
<title>Registration Page</title>
<body>

<?php

if(isset($_SESSION['regsuccess'])){
   /* Registration was successful */
   if($_SESSION['regsuccess']){
      echo "<h1>Registered!</h1>";
      echo "<p>Thank you <b>".$_SESSION['reguname']."</b>, "
          ."go back to <a href=\"register.php\">register page</a>.</p>";
   }
   /* Registration failed */
   else{
      echo "<h1>Registration Failed</h1>";
      echo "<p>We're sorry, but an error has occurred
          ."<br>Please try again at a later time.</p>";
   }
   unset($_SESSION['regsuccess']);
   unset($_SESSION['reguname']);
}

else{
?>

<h1>Contact Form</h1>
<?php
if($form->num_errors > 0){
   echo "<td><font size=\"2\" color=\"#ff0000\">".$form->num_errors." error(s) found</font></td>";

}
?>
<form action="process.php" method="POST">
<table align="left" border="1" cellspacing="0" cellpadding="3">

<tr>
<td>Title:</td>

<td>
<select name="title" value="<?php echo $form->value("title"); ?>">
<option value="">Select One</option>
<option value="Mr">Mr.</option>
<option value="Mrs">Mrs.</option>
<option value="Ms">Ms.</option>
</select>
</td>
<td><?php echo $form->error("title"); ?></td>
</tr>

<tr>
<td>First Name:</td>
<td><input type="text" name="firstname" maxlength="30" value="<?php echo $form->value("firstname"); ?>"></td>
<td><?php echo $form->error("firstname"); ?></td>
</tr>

<tr>
<td>Last Name:</td>
<td><input type="text" name="lastname" maxlength="30" value="<?php echo $form->value("lastname"); ?>"></td>
<td><?php echo $form->error("lastname"); ?></td>
</tr>



<tr>
<td>Email:</td>
<td><input type="text" name="email" maxlength="50" value="<?php echo $form->value("email"); ?>"></td>
<td><?php echo $form->error("email"); ?></td>
</tr>

<tr>
<td colspan="2" align="right">
<input type="hidden" name="subjoin" value="1">
<input type="submit" value="Send!"></td>
</tr>

<tr>
<td colspan="2" align="left"><a href="main.php">Back to Main</a></td>
</tr>

</table>
</form>

<?php
}
?>

</body>
</html>

process.php

<?php
/**
 * Process.php
 * Last Updated: 5-9-2009
 */
include("include/session.php");

class Process
{
   /* Class constructor */
   function Process(){
      global $session;
      
      /* User submitted registration form */
      if(isset($_POST['subjoin'])){
         $this->procRegister();
      }

       else{
          header("Location: register1.php");
       }
   }

   function procRegister(){
      global $session, $form;
      /* Convert username to all lowercase (by option) */
      if(ALL_LOWERCASE){
         $_POST['title'] = strtolower($_POST['title']);
      }
      /* Registration attempt */
      $retval = $session->register($_POST['title'],$_POST['firstname'],$_POST['lastname'],$_POST['email']);
      
      /* Registration Successful */
      if($retval == 0){
         $_SESSION['reguname'] = $_POST['title'];
         $_SESSION['regsuccess'] = true;
         header("Location: ".$session->referrer);
      }
      /* Error found with form */
      else if($retval == 1){
         $_SESSION['value_array'] = $_POST;
         $_SESSION['error_array'] = $form->getErrorArray();
         header("Location: ".$session->referrer);
      }
      /* Registration attempt failed */
      else if($retval == 2){
         $_SESSION['reguname'] = $_POST['title'];
         $_SESSION['regsuccess'] = false;
         header("Location: ".$session->referrer);
      }
   }
};

/* Initialize process */
$process = new Process;

?>

include/session.php

<?php
/**
 * Session.php
 * Last Updated: 5-9-2009
 */
include("database.php");
include("form.php");

class Session
{
   var $title;     
   var $time;         
   var $url;          
   var $referrer;     


   /* Class constructor */
   function Session(){
      $this->time = time();
      $this->startSession();
   }
   
   function startSession(){
      global $database;  //The database connection
      session_start();   //Tell PHP to start the session

      /* Set referrer page */
      if(isset($_SESSION['url'])){
         $this->referrer = $_SESSION['url'];
      }else{
         $this->referrer = "/";
      }
      /* Set current url */
      $this->url = $_SESSION['url'] = $_SERVER['PHP_SELF'];
   }
  
   function register($subtitle,$subfirstname,$sublastname,$subemail){
      global $database, $form, $mailer;  //The database, form and mailer object
      
      /* title error checking */
      $field = "title";  //Use field name for title
      if(!$subtitle || strlen($subtitle = trim($subtitle)) == 0){
         $form->setError($field, "* title not entered");
      }
      else{
         /* Spruce up title, check length */
         $subtitle = stripslashes($subtitle);
        
      }
      
/* First Name error checking */
      $field = "firstname";  //Use field name for firstname
      if(!$subfirstname || strlen($subfirstname = trim($subfirstname)) == 0){
         $form->setError($field, "* firstname not entered");
      }
      else{
         /* Spruce up firstname, check length */
         $subfirstname = stripslashes($subfirstname);
         if(strlen($subfirstname) < 5){
            $form->setError($field, "* firstname below 5 characters");
         }
         else if(strlen($subfirstname) > 30){
            $form->setError($field, "* firstname above 30 characters");
         }
         /* Check if firstname is not alphanumeric */
         else if(!eregi("^([0-9a-z])+$", $subfirstname)){
            $form->setError($field, "* firstname not alphanumeric");
         }
      }
/* Last Name error checking */
      $field = "lastname";  //Use field name for lastname
      if(!$sublastname || strlen($sublastname = trim($sublastname)) == 0){
         $form->setError($field, "* lastname not entered");
      }
      else{
         /* Spruce up lastname, check length */
         $sublastname = stripslashes($sublastname);
         if(strlen($sublastname) < 5){
            $form->setError($field, "* lastname below 5 characters");
         }
         else if(strlen($sublastname) > 30){
            $form->setError($field, "* lastname above 30 characters");
         }
         /* Check if lastname is not alphanumeric */
         else if(!eregi("^([0-9a-z])+$", $sublastname)){
            $form->setError($field, "* lastname not alphanumeric");
         }
      }
      
      /* Email error checking */
      $field = "email";  //Use field name for email
      if(!$subemail || strlen($subemail = trim($subemail)) == 0){
         $form->setError($field, "* Email not entered");
      }
      else{
         /* Check if valid email address */
         $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*"
                 ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*"
                 ."\.([a-z]{2,}){1}$";
         if(!eregi($regex,$subemail)){
            $form->setError($field, "* Email invalid");
         }
         $subemail = stripslashes($subemail);
      }

      /* Errors exist, have title correct them */
      if($form->num_errors > 0){
         return 1;  //Errors with form
      }
      /* No errors, add the new account to the */
      else{
         if($database->addNewUser($subtitle,$subfirstname,$sublastname,$subemail)){
            if(EMAIL_WELCOME){
               $mailer->sendWelcome($subtitle,$subfirstname,$sublastname,$subemail);
            }
            return 0;  //New user added succesfully
         }else{
            return 2;  //Registration attempt failed
         }
      }
   }
};

$session = new Session;

/* Initialize form object */
$form = new Form;

?>

Try replacing line 42 of include/session.php with the following

$subtitle = trim($subtitle)
      if(strlen($subtitle) == 0){

I do that but nothing happen, and I think you forgot
;

after
$subtitle = trim($subtitle)

cwarn23, I think you send me to right place in file session.php line 45 this is the else and in file register.php.

put <?php echo $form->value("title"); ?> before<select name".....

and when you select e.g. Mr title you see before <select box Mr value, I think I need something like if option value == my selection e.g. Mr make this value selected.

can somebody HELP

put <?php echo $form->value("title"); ?> before<select name".....

and when you select e.g. Mr title you see before <select box Mr value, I think I need something like if option value == my selection e.g. Mr make this value selected.

I just checked your code and it appears that there is no method/function called value. So perhaps you still need to programme in the value() method.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.