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();
}
}
======================================================================