Thursday 7 January 2016

how to reduce server side validation code in php


You can do server side validation code in if...else condition also.
But below code will reduce your code in server side validation also gives result with comma(,).
Run this code and you see magic.
Here, validation will check only for four fields. Not for Phone number.

Example : First name, Middle name, Last name, Email is require.


// Database query
CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */

// Table query
CREATE TABLE `candidate1` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `site_id` int(11) NOT NULL DEFAULT '0',
 `last_name` varchar(64) ,
 `first_name` varchar(64) ,
 `middle_name` varchar(32) ,
 `phone_home` varchar(40) ,
 `email1` varchar(128),

 PRIMARY KEY (`id`)
)

Form1.php
<?php
if(isset($_POST['job_form_submit']))
{
    $first_name = $_REQUEST['first_name'];
    $middle_name = $_REQUEST['middle_name'];
    $last_name = $_REQUEST['last_name'];
    $email1 = $_REQUEST['email'];
    $phone_home = $_REQUEST['phone_home'];

    $result = '';
    //Validations
    $fields = array('first_name'=>$first_name,'middle_name'=>$middle_name, 'last_name'=>$last_name, 'email'=>$email1);
    foreach($fields as $key => $val) {
      if(empty($val)){
          $result .= ucfirst (str_replace("_"," ",$key)) . ", ";
      }
     }
     if(empty($result)){
        // insert values in candidate table
        $insert = mysqli_query($conn, "insert into candidate(first_name, middle_name, last_name, email1, phone_home) values ('".$first_name."', '".$middle_name."', '".$last_name."', '".$email1."', '".$phone_home."')");       
        if ($insert) {
        echo "New record created successfully";
        } else {
            echo "Error: ".mysqli_error($conn);
        }
        $conn->close();
     }
     else{
        echo rtrim($result,", ")." is require.";
    }   
}

?>

<form name="" method="post" id="frm_job" action="">
  <!-- Start: First Name -->
  <fieldset class="form-group">
    <label for="firstname">First Name</label>
    <input type="text" name="first_name" value="" class="form-control" id="txt_firstname" placeholder="Enter First Name">
  </fieldset>
  <!-- End: First Name -->

  <!-- Start: Middle Name -->
  <fieldset class="form-group">
    <label for="middlename">Middle Name</label>
    <input type="text" name="middle_name" value="" class="form-control" id="txt_middlename" placeholder="Enter Middle Name">
  </fieldset>
  <!-- End: Middle Name -->
 
  <!-- Start: Last Name -->
  <fieldset class="form-group">
    <label for="lastname">Last Name</label>
    <input type="text" name="last_name" value=""class="form-control" id="txt_lastname" placeholder="Enter Last Name">
  </fieldset>
  <!-- End: Last Name -->
 
  <!-- Start: Email -->
  <fieldset class="form-group">
    <label for="email">Email</label>
    <input type="text" name="email" value="" class="form-control" id="txt_email" placeholder="Enter Email">
  </fieldset>
  <!-- End: Email -->
 
  <!-- Start: Home Phone -->
  <fieldset class="form-group">
    <label for="homephone">Home Phone</label>
    <input type="text" name="phone_home" value="" class="form-control" id="txt_homephone" placeholder="Enter Home Phone">
  </fieldset>
  <!-- End: Home Phone -->
 
  <button type="submit" value="submit" name="job_form_submit" class="btn btn-primary">Submit</button>
  <button type="reset" class="btn btn-default">Reset</button>
</form>

No comments:

Post a Comment