Friday, 3 July 2015

Codeigniter

Ci Working step wise

===========================================
site_url/index.php/controller/controller_function

Front End section displying of Website
=========================================================
Step 1- Create assests folder and put inside all css,js,images,fonts, pdf..etc

Step 2- Go to Application->views (create two folders admin & web) and also in under admin& web create 2 folders pages and templates

Step 3- in under templates put all the head, header, footer, sidebar, .......etc....

Step 4- in under pages put all about us, our team, courses, contact us......etc....

Step 5- How to set base url Go to Application->config->config.php and put this $config['base_url'] = 'http://localhost/ci/ci_hometopper/';

Step 6- How to create database connection Go to Application->config->database.php and put here db name, user name and password.

Step 7- Go to Application->config->routes.php here set controller name by default set 'welcome'

Step 8- Go to Application->controllers create 2 folders admin(in this under create Admin.php controller(Ist letter capital letter) ) and front(in this under create

Front.php controller((Ist letter capital letter) )

Step 9- Go to Application->models create 2 folders admin(in this under create Admin.php controller(ist letter capital letter) ) and web(in this under create Front.php

controller(Ist letter capital letter) )

Step 10- Go to Application->controllers-> create controller Front.php and under this file write:- class Front extends CI_Controller { (Where Front is controller name) {

ex- Front.php
====================================================================
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Front extends CI_Controller {  (Where front is controller name)

function __construct()
  {
       parent::__construct();
      // $this->load->model('Admin_modal');
  // $this->load->model('web/front_modal');
       $this->load->helper('url');
   $this->load->library('session');
   }


public function index()
{
$this->load->view('welcome_message');
                $this->load->view('web/templetes/header_home');
}
}
===================================================================

and inner this call constructor function

function __construct()
  {
       parent::__construct();
      // $this->load->model('Admin_modal');
  // $this->load->model('web/front_modal');
       $this->load->helper('url');
   $this->load->library('session');
   }

and load all pages as-

public function index()
{
//$this->load->view('welcome_message');
$this->load->view('web/templetes/header_home');
$this->load->view('web/templetes/menu');
$this->load->view('web/templetes/quick_contact');
$this->load->view('web/pages/index');
$this->load->view('web/templetes/footer');
}


public function about()
{
//$this->load->view('welcome_message');
$this->load->view('web/templetes/header_home');
$this->load->view('web/templetes/menu');
$this->load->view('web/templetes/quick_contact');
$this->load->view('web/pages/about');
$this->load->view('web/templetes/footer');
}


Step 11- add this code all pages including header, footer

<?php
$base_url=base_url().'assests/';
$uri= $this->uri->segment(1);
 ?>

call style <link rel="stylesheet" href="<?php echo $base_url;?>css/custom.css">

call js <script src="<?php echo $base_url;?>js/scrollTop.js"></script>

call images <img src="<?php echo $base_url;?>images/htlogo.jpg" alt="organic logo">

Step 12- Go to Application->config> routes.php->load default controller $route['default_controller'] = 'Front'; and set all pages links $route['index'] = "Front/index";
 $route['about-us'] = "Front/about";
(where about-us page name and about controller name)

Step 13-Remove index.php from url

=>site_url/index.php/controller/controller_function
-but we want Remove index.php from url
create HT(.htaccess) ACCESS file in root directory and remove index.php from main url

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

</IfModule>

==========================================
Admin Section (Back End section)  displying of Website
=========================================================

Step 14- add admin panel create root folder name-> admin-assets (put here -> css, js, images, fonts)

Step 15- and put pages application->views->admin->pages-> (put all admin pages ex- login.php,index.php....etc)

Step 16- put admin pages top <?php
$base_url=base_url().'admin-assests/';
$uri= $this->uri->segment(1);
 ?>

<link href="<?php echo $base_url;?>css/bootstrap.min.css" rel="stylesheet">

Step 17- create Admin section on
/////////////////////////admin section////////////////////

$route['admin'] = "Admin/index";

//Where->admin-> url name any http://localhost/ci/childsurgeon/admin(if lalit- http://localhost/ci/childsurgeon/lalit)
         //Admin->Controller Name
//index->Function Name under admin controller

$route['admin/login'] = "Admin/login";

$route['admin/home'] = "Admin/home";

Step 18- Admin controller -

class Admin extends CI_Controller {

function __construct()
  {
       parent::__construct();
      // $this->load->model('Admin_modal');
  // $this->load->model('web/front_modal');
       $this->load->helper('url');
   $this->load->library('session');
    $this->load->database();
   }

public function index()
{
//$this->load->view('web/templates/header');
$this->load->view('admin/pages/index');
}

public function login()
{
//$this->load->view('web/templates/header');
//$this->load->view('admin/pages/login');
echo $user_name= $this->input->post('user_admin');
echo  $password= $this->input->post('password_admin');

$this->db->select('*');
$this->db->from('users');
$this->db->where("user_name='$user_name' and user_password='$password'");
$query=$this->db->get();
//print_r($query);
$result=$query->num_rows();

if ($result==1) {
redirect("admin/home");
}

}

public function home()
{
//$this->load->view('web/templates/header');
$this->load->view('admin/pages/home');
}

//////////////////////////login form(index.php)//////////////////////////
<?php
$base_url=base_url().'admin-assests/';
$uri= $this->uri->segment(1);

 ?>
 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">

<title>Child-Specialist- Admin Panel</title>
<!-- Bootstrap Core CSS -->
<link href="<?php echo $base_url;?>css/bootstrap.min.css" rel="stylesheet">
<!-- animation CSS -->
<link href="<?php echo $base_url;?>css/animate.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="<?php echo $base_url;?>css/style.css" rel="stylesheet">
<!-- color CSS -->
<link href="<?php echo $base_url;?>css/blue.css" id="theme"  rel="stylesheet">

</head>
<body>
<!-- Preloader -->
<div class="preloader">
  <div class="cssload-speeding-wheel"></div>
</div>
<section id="wrapper" class="login-register">

  <div class="login-box">
    <div class="white-box">
                           <br>
      <form class="form-horizontal form-material" id="loginform" method="post" action="admin/login">

        <h3 class="box-title m-b-20">Sign In</h3>
        <div class="form-group ">
          <div class="col-xs-12">
            <input class="form-control" type="text" required="" name="user_admin" placeholder="Username">
          </div>
        </div>
        <div class="form-group">
          <div class="col-xs-12">
            <input class="form-control" type="password" required="" name="password_admin" placeholder="Password">
          </div>
        </div>
        <div class="form-group">
          <div class="col-md-12">
            <div class="checkbox checkbox-primary pull-left p-t-0">
              <input id="checkbox-signup" type="checkbox">
              <label for="checkbox-signup"> Remember me </label>
            </div>
            <a href="javascript:void(0)" id="to-recover" class="text-dark pull-right"><i class="fa fa-lock m-r-5"></i> Forgot pwd?</a> </div>
        </div>
        <div class="form-group text-center m-t-20">
          <div class="col-xs-12">
            <button class="btn btn-info btn-lg btn-block text-uppercase waves-effect waves-light" type="submit">Log In</button>
          </div>
        </div>
     </form>

    </div>
  </div>
</section>
<!-- jQuery -->
<script src="<?php echo $base_url;?>js/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="<?php echo $base_url;?>js/bootstrap.min(2).js"></script>
<!-- Menu Plugin JavaScript -->
<script src="<?php echo $base_url;?>js/sidebar-nav.min.js"></script>

<!--slimscroll JavaScript -->
<script src="<?php echo $base_url;?>js/jquery.slimscroll.js"></script>
<!--Wave Effects -->
<script src="<?php echo $base_url;?>js/waves.js"></script>
<!-- Custom Theme JavaScript -->
<script src="<?php echo $base_url;?>js/custom.min.js"></script>
<!--Style Switcher -->
<script src="<?php echo $base_url;?>js/jQuery.style.switcher.js"></script>
</body>
</html>

Step 19- create db table name->users->id,username, pass, status

Step 20- how to create dynamic CONTACT US PAGE

create dynamic contact form (contact-us.php) under Appication->View->web->pages->contact-us.php

<?php
        $base_url=base_url().'assests/';
$uri = $this->uri->segment(1);
?>
<h3>Contact <strong>Form</strong></h3>
    <form action="process-contact" method="post">
     <fieldset>
         <label for="name" class="blocklabel">Your Name*</label>
        <p class="" ><input name="yourname" class="input_bg" type="text" id="name" value='' required /></p>
       <label for="email" class="blocklabel">E-Mail*</label>
        <p class="" ><input name="email" class="input_bg" type="text" id="email" value='' required /></p>
   <label for="number" class="blocklabel">Phone No*</label>
        <p class="" ><input name="number" class="input_bg" type="text" id="number" value='' required /></p>
         <label for="website" class="blocklabel">Subject</label>
        <p><input name="subject" class="input_bg" type="text" id="subject" value="" required /></p>
       <label for="message" class="blocklabel">Your Message*</label>
        <p class=""><textarea name="message" class="textarea_bg" id="message" cols="20" rows="7" required ></textarea></p>
        <p>
        <div class="clearfix"></div>
        <input name="Send" type="submit" value="SUBMIT" class="comment_submit" id="send" /><span style="color: green;font-size: large;"><?php echo $this->session->flashdata('sucess_login');?></span></p>
        </fieldset>
        </form>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
create controllers (Front.php) under Appication->controllers->Front.php -> function process_contact() and load email library

function __construct()
  {
       parent::__construct();
      // $this->load->model('Admin_modal');
  // $this->load->model('web/front_modal');
       $this->load->helper('url');
   $this->load->library('session');
   $this->load->library('email');

   }

public function contact_us()
{
$this->load->view('web/templates/header');
$this->load->view('web/pages/contact-us');
$this->load->view('web/templates/footer');
}
public function faqs()
{
$this->load->view('web/templates/header');
$this->load->view('web/pages/faqs');
$this->load->view('web/templates/footer');
}

public function process_contact()
{
try{
$email=trim($this->input->post('email'));
$name=trim($this->input->post('yourname'));
$phone=trim($this->input->post('number'));
$esubject=trim($this->input->post('subject'));
$msg=trim($this->input->post('message'));

$config = array();
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'mail.childsurgeonkanpur.com';
$config['smtp_user'] = 'info@childsurgeonkanpur.com';
$config['smtp_pass'] = 'childsurgeonkanpur123#';
$config['smtp_port'] = 587;
$this->email->initialize($config);
$this->email->set_newline("\r\n");

$from_email = "info@childsurgeonkanpur.com";
$to_email = 'lalit.t@neuralinfo.org';
//Load email library
$this->load->library('email');
$this->email->from($from_email, 'Child Surgeon Kanpur');
$this->email->to($to_email);
$this->email->subject('Enquery From Child Surgeon Kanpur.');
$this->email->set_mailtype("html");
$this->email->bcc('lalit.t@neuralinfo.org');
$message = "Enquery From Child Surgeon Kanpur.<br>";
$message .= "Name : ".$name."<br>";
$message .= "Email : ".$email."<br>";
$message .= "Phone : ".$phone."<br>";
$message .= "Subject : ".$esubject."<br>";
$message .= "Message : ".$msg."<br>";
$this->email->message($message);
if($this->email->send()){
$this->session->set_flashdata('sucess_login', 'Thankyou for Contact!See you Soon.');
redirect("contact-us");
}
else{
$this->session->set_flashdata('sucess_login', 'Try Again.');
redirect("contact-us");
}
}
catch (Exception $e)
        {
                echo 'Caught exception: ',  $e->getMessage(), "\n";
            }

}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
create routes (routes.php) under Appication->config->routes.php

($route['process-contact']=  "front/process_contact"; )
//Where->process-contact-> form action,  and 
         //Front->Controller Name

//process_contact->Function Name under Front controller 

$route['default_controller'] = 'Front';
$route['404_override'] = '';
//$route['translate_uri_dashes'] = FALSE;
$route['translate_uri_dashes'] = TRUE;
$uri= $this->uri->segment(1);

$route['index'] = "Front/index";
$route['about-us'] = "Front/about";
$route['specialization'] = "Front/specialization";
$route['pediatric-surgery'] = "Front/pediatric_surgery";
$route['pediatric-urology'] = "Front/pediatric_urology";

$route['oncosurgery'] = "Front/oncosurgery";
$route['pediatric-neurosurgy'] = "Front/pediatric_neurosurgy";

$route['neonatal-surgery'] = "Front/neonatal_surgery";
$route['antenatal'] = "Front/antenatal";
$route['gasteroenterology'] = "Front/gasteroenterology";
$route['thoracoscopic-surgery'] = "Front/thoracoscopic_surgery";
$route['blog'] = "Front/blog";

$route['blog-parents'] = "Front/blog_parents";
$route['article'] = "Front/article";
$route['gallery'] = "Front/gallery";

$route['video'] = "Front/video";
$route['contact-us'] = "Front/contact_us";
$route['faqs'] = "Front/faqs";
$route['process-contact']=  "front/process_contact";
/////////////////////////admin section////////////////////

$route['admin'] = "Admin/index";

//Where->admin-> url name any http://localhost/ci/childsurgeon/admin(if lalit- http://localhost/ci/childsurgeon/lalit)
         //Admin->Controller Name
//index->Function Name under admin controller

$route['admin/login'] = "Admin/login";


$route['admin/home'] = "Admin/home";
/////////////////////////////////////////////////////////////////////////////////////////////////////

===================================================
How To Set Files In Codeignitor
====================================
step 1 - Create Folder assets(under codeignitor & same level application) in here all js, css, images, fonts, plugins (all folder) paste

step 2 - Go application -> config (set base url ex- $config['base_url'] = 'http://localhost/CodeIgniter/kgac/';)
         and set encryption key ex - $config['encryption_key'] = 'fasdfasdf';

step 3 - Go application -> database (set database detail ex - )

        'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'ca',

step 4 - Go application -> routes (set controller name ex - $route['default_controller'] = 'home'; Where contoller name = home)

step 5 - Go application -> views (set here all pages ex- header.php, footer.php, sidebar.php, aboutus.php & ect..)

step 6 - Go application -> controller (set own controller ex - (conroller name) home, front, my_controller ect. as you want)

<?php
class home extends CI_Controller {


function __construct()
       {
               parent::__construct();
  $this->load->helper(array('form', 'url'));

}

public function index()
{
$this->load->view('home');
}
}

Where contoller name -> home

step 7 - Go application -> models (set own models ex - (models name) admin, front, my_model ect. as you want)

=================================================================

Call Image, Css & Js
============================
<img src="<?php echo base_url(); ?>assests/
full
<img src="<?php echo base_url(); ?>assests/img/content/face-9.png" alt="">
===========================================================
Header
-----------------------------------------------------------------------------
<script type="text/javascript" src="<?php echo base_url(); ?>assests/my/validation.js"></script>

<link rel="stylesheet" href="<?php echo base_url(); ?>assests/my/general.css" type="text/css" media="screen">
==========================================================
Admin Model
-----------------------------------------------------------------------------------------------
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class admin_module  extends CI_Model
{
  public function __construct()
  {
    parent::__construct();
  }

  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                                                  USER LOGIN
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

  public function login($user, $pwd)
  {

    $this->db->where('User_Name',$user);
$this->db->where('Password',$pwd);
$query = $this->db->get('login_master');

if($query->num_rows()>0)
{
  foreach($query->result() as $row)
  {
    $userdata = array(
'user_id' => $row->Admin_Id,
'name' => $row->User_Name
);
  }

  $this->session->set_userdata('userlogin', $userdata);
  return true;
}
return false;

  }



  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\\\  ////                                                            FETCH DATA
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

  function fetch($table, $field_name, $id)
  {

   $this->db->select('*');
   if($id != ""){$this->db->where($field_name,$id);}
   $query = $this->db->get($table);
   return $query->result();

  }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                                                  INSERT DATA
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  function insert($table,$data)
  {
    $this->db->insert($table,$data);
  }

  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                                                 DELETE
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function row_delete($table,$where,$id)
{
$this->db->where($where,$id);
$this->db->delete($table);
}

 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                                                  UPDATE DATA
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


  function update($table, $field_name, $id, $data)
  {
    $this->db->where($field_name,$id);
$this->db->update($table, $data);
  }


   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                                                 AJAX
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  function ajax($table,$fieldname,$position, $items_per_group)
  {
     $this->db->select('*');
     $this->db->order_by($fieldname,'desc');
     $this->db->limit($items_per_group,$position);
     $query = $this->db->get($table);

     return $query->result();
  }

  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                                                 Num Rows
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 function num($table)
 {

  $this->db->select('*');
 $query = $this->db->get($table);
 return $query->num_rows();

 }


}
======================================================================