SlideShare a Scribd company logo
Submitted By 
Reshma vijayan .R
 Introduction 
 Why Framework not Scratch? 
 MVC ( Model View Controller) Architecture 
 What is CodeIgniter ???? 
 Application Flow of CodeIgniter 
 CodeIgniter URL 
 Controllers 
 Views 
 Models 
 CRUD operations 
 Session starting 
 Form validation 
 Q/A 
 Reference
 Key Factors of a Development 
 Interface Design 
 Business Logic 
 Database Manipulation 
 Advantage of Framework 
 Provide Solutions to Common problems 
 Abstract Levels of functionality 
 Make Rapid Development Easier 
 Disadvantage of Scratch Development 
 Make your own Abstract Layer 
 Solve Common Problems Yourself 
 The more Typing Speed the more faster
 Separates User Interface From Business Logic 
 Model - Encapsulates core application data and functionality Business 
Logic. 
 View - obtains data from the model and presents it to the user. 
 Controller - receives and translates input to requests on the model or the 
view 
Figure : 01
 An Open Source Web Application Framework 
 Nearly Zero Configuration 
 MVC ( Model View Controller ) Architecture 
 Multiple DB (Database) support 
 Caching 
 Modules 
 Validation 
 Rich Sets of Libraries for Commonly Needed Tasks 
 Has a Clear, Thorough documentation
Figure : 2 [ Application Flow of CodeIgniter]
URL in CodeIgniter is Segment Based. 
www.your-site.com/news/article/my_article 
Segments in a URI 
www.your-site.com/class/function/ID 
CodeIgniter Optionally Supports Query String URL 
www.your-site.com/index.php?c=news&m=article&ID=345
A Class file resides under “application/controllers” 
www.your-site.com/index.php/first 
<?php 
class First extends CI_Controller{ 
function First() { 
parent::Controller(); 
} 
function index() { 
echo “<h1> Hello CUET !! </h1> “; 
} 
} 
?> 
// Output Will be “Hello CUET!!” 
• Note: 
• Class names must start with an Uppercase Letter. 
• In case of “constructor” you must use “parent::Controller();”
In This Particular Code 
www.your-site.com/index.php/first/bdosdn/world 
<?php 
class First extends Controller{ 
function index() { 
echo “<h1> Hello CUET !! </h1> “; 
} 
function bdosdn( $location ) { 
echo “<h2> Hello $location !! </h2>”; 
} 
} 
?> 
// Output Will be “Hello world !!” 
• Note: 
• The ‘Index’ Function always loads by default. Unless there is a second 
segment in the URL
 A Webpage or A page Fragment 
 Should be placed under “application/views” 
 Never Called Directly 
10 
web_root/myci/system/application/views/myview.php 
<html> 
<title> My First CodeIgniter Project</title> 
<body> 
<h1> Welcome ALL … To My .. ::: First Project ::: . 
. . </h1> 
</body> 
</html>
Calling a VIEW from Controller 
$this->load->view(‘myview’); 
Data Passing to a VIEW from Controller 
function index() { 
$var = array( 
‘full_name’ => ‘Amzad Hossain’, 
‘email’ => ‘tohi1000@yahoo.com’ 
); 
$this->load->view(‘myview’, $var); 
} 
<html> 
<title> ..::Personal Info::.. </title> 
<body> 
Full Name : <?php echo $full_name;?> <br /> 
E-mail : <?=email;?> <br /> 
</body> 
</html>
Designed to work with Information of Database 
Models Should be placed Under “application/models/” 
<?php 
class Mymodel extend Model{ 
function Mymodel() { 
parent::Model(); 
} 
function get_info() { 
$query = $this->db->get(‘name’, 10); 
/*Using ActiveRecord*/ 
return $query->result(); 
} 
} 
?> 
Loading a Model inside a Controller 
$this->load->model(‘mymodel’); 
$data = $this->mymodel->get_info();
CRUD OPERATIONS IN MVC 
➢Create 
➢Read 
➢Update 
➢Delete
DATABASE CREATION 
//Create 
CREATE TABLE `user` ( 
`id` INT( 50 ) NOT NULL AUTO_INCREMENT 
, 
`username` VARCHAR( 50 ) NOT NULL , 
`email` VARCHAR( 100 ) NOT NULL , 
`password` VARCHAR( 255 ) NOT NULL , 
PRIMARY KEY ( `id` ) 
)
DATABASE CONFIGURATION 
Open application/config/database.php 
$config['hostname'] = "localhost"; 
$config['username'] = "root"; 
$config['password'] = ""; 
$config['database'] = "mydatabase"; 
$config['dbdriver'] = "mysql";
CONFIGURATION 
Then open application/config/config.php 
$config['base_url'] = 'http://localhost/ci_user'; 
Open application/config/autoload.php 
$autoload['libraries'] = array('session','database'); 
$autoload['helper'] = array('url','form'); 
Open application/config/routes.php, change 
default controller to user controller
Creating our view page 
Create a blank document in the views file (application -> 
views) and name it Registration.php /Login.php 
Using HTML and CSS create a simple registration 
form
public function add_user() 
{ 
$data=array 
( 
'FirstName' => $this->input- 
>post('firstname'), 
'LastName'=>$this->input- 
>post('lastname'), 
'Gender'=>$this->input->post('gender'), 
'UserName'=>$this->input- 
>post('username'), 
'EmailId'=>$this->input->post('email'), 
'Password'=>$this->input- 
>post('password')); 
$this->db->insert('user',$data); 
}
//select 
public function doLogin($username, $password) 
{ 
$q = "SELECT * FROM representative WHERE 
UserName= '$username' AND Password = 
'$password'"; 
$query = $this->db->query($q); 
if($query->num_rows()>0) 
{ 
foreach($query->result() as $rows) 
{ 
//add all data to session 
$newdata = array('user_id' => $rows- 
>Id,'username' => $rows->UserName,'email' => $rows- 
>EmailId,'logged_in' => TRUE); 
} 
$this->session->set_userdata($newdata); 
return true; 
} 
return false; 
}
//Update 
$this->load->db(); 
$this->db->update('tablename',$data); 
$this->db->where('id',$id); 
//delete 
$this->load->db(); 
$this->db->delete('tablename',$data); 
$this->db->where('id',$id);
SESSION STARTING 
<?php 
Session start(); 
$_session['id']=$id; 
$_session['username']=$username; 
$_session['login true']='valid'; 
if($-session['login true']=='valid') 
{ 
$this->load->view('profile.php'); 
} 
else 
{ 
$this->load->view('login.php'); 
}
FORM VALIDATION 
public function registration() 
{ 
$this->load->library('form_validation'); 
// field name, error message, validation rules 
$this->form_validation->set_rules('firstname', 'First 
Name', 'trim|required|min_length[3]|xss_clean'); 
$this->form_validation->set_rules('lastname', 'Last 
Name', 'trim|required|min_length[1]|xss_clean'); 
$this->form_validation->set_rules('username', 'User 
Name','trim|required|min_length[4]|xss_clean| 
is_unique[user.UserName]'); 
}
if($this->form_validation->run() == FALSE) 
{ 
$this->load->view('Register_form'); 
} 
else 
{ 
$this->load->model('db_model'); 
$this->db_model->add_user(); 
}
USEFUL LINKS 
 www.codeigniter.com
 User Guide of CodeIgniter 
 Wikipedia 
 Slideshare
THANK YOU

More Related Content

What's hot

Webapps without the web
Webapps without the webWebapps without the web
Webapps without the webRemy Sharp
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha
 
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSencha
 
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha
 
Javascript first-class citizenery
Javascript first-class citizeneryJavascript first-class citizenery
Javascript first-class citizenerytoddbr
 
jQuery Proven Performance Tips & Tricks
jQuery Proven Performance Tips & TricksjQuery Proven Performance Tips & Tricks
jQuery Proven Performance Tips & TricksAddy Osmani
 
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra  SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra Sencha
 
Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5성일 한
 
Building a Backend with Flask
Building a Backend with FlaskBuilding a Backend with Flask
Building a Backend with FlaskMake School
 
Ext JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell SimeonsExt JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell SimeonsSencha
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGLearn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGMarakana Inc.
 
[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress DevelopmentAdam Tomat
 
Efficient Rails Test-Driven Development - Week 6
Efficient Rails Test-Driven Development - Week 6Efficient Rails Test-Driven Development - Week 6
Efficient Rails Test-Driven Development - Week 6Marakana Inc.
 
The Complementarity of React and Web Components
The Complementarity of React and Web ComponentsThe Complementarity of React and Web Components
The Complementarity of React and Web ComponentsAndrew Rota
 
Jquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript BasicsJquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript BasicsEPAM Systems
 
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React AppsIntroducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React AppsSencha
 
AtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-onsAtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-onsAtlassian
 
Devoxx 2014-webComponents
Devoxx 2014-webComponentsDevoxx 2014-webComponents
Devoxx 2014-webComponentsCyril Balit
 
jQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends ForeverjQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends Foreverstephskardal
 
AtlasCamp 2015: Web technologies you should be using now
AtlasCamp 2015: Web technologies you should be using nowAtlasCamp 2015: Web technologies you should be using now
AtlasCamp 2015: Web technologies you should be using nowAtlassian
 

What's hot (20)

Webapps without the web
Webapps without the webWebapps without the web
Webapps without the web
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
 
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
 
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
 
Javascript first-class citizenery
Javascript first-class citizeneryJavascript first-class citizenery
Javascript first-class citizenery
 
jQuery Proven Performance Tips & Tricks
jQuery Proven Performance Tips & TricksjQuery Proven Performance Tips & Tricks
jQuery Proven Performance Tips & Tricks
 
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra  SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra
 
Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5
 
Building a Backend with Flask
Building a Backend with FlaskBuilding a Backend with Flask
Building a Backend with Flask
 
Ext JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell SimeonsExt JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell Simeons
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGLearn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUG
 
[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development
 
Efficient Rails Test-Driven Development - Week 6
Efficient Rails Test-Driven Development - Week 6Efficient Rails Test-Driven Development - Week 6
Efficient Rails Test-Driven Development - Week 6
 
The Complementarity of React and Web Components
The Complementarity of React and Web ComponentsThe Complementarity of React and Web Components
The Complementarity of React and Web Components
 
Jquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript BasicsJquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript Basics
 
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React AppsIntroducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
 
AtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-onsAtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-ons
 
Devoxx 2014-webComponents
Devoxx 2014-webComponentsDevoxx 2014-webComponents
Devoxx 2014-webComponents
 
jQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends ForeverjQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends Forever
 
AtlasCamp 2015: Web technologies you should be using now
AtlasCamp 2015: Web technologies you should be using nowAtlasCamp 2015: Web technologies you should be using now
AtlasCamp 2015: Web technologies you should be using now
 

Similar to Codegnitorppt

Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code IgniterAmzad Hossain
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkBo-Yi Wu
 
Benefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBenefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBo-Yi Wu
 
Exploring Symfony's Code
Exploring Symfony's CodeExploring Symfony's Code
Exploring Symfony's CodeWildan Maulana
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexyananelson
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolGordon Forsythe
 
Symfony2 - from the trenches
Symfony2 - from the trenchesSymfony2 - from the trenches
Symfony2 - from the trenchesLukas Smith
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGiuliano Iacobelli
 
Getting Started with Zend Framework
Getting Started with Zend FrameworkGetting Started with Zend Framework
Getting Started with Zend FrameworkJuan Antonio
 
Codebits 2012 - Fast relational web site construction.
Codebits 2012 - Fast relational web site construction.Codebits 2012 - Fast relational web site construction.
Codebits 2012 - Fast relational web site construction.Nelson Gomes
 
Spout - Building a RESTful web app with Angular.js and BEAR.Sunday
Spout - Building a RESTful web app with Angular.js and BEAR.SundaySpout - Building a RESTful web app with Angular.js and BEAR.Sunday
Spout - Building a RESTful web app with Angular.js and BEAR.SundayRichard McIntyre
 
Intro To Mvc Development In Php
Intro To Mvc Development In PhpIntro To Mvc Development In Php
Intro To Mvc Development In Phpfunkatron
 

Similar to Codegnitorppt (20)

Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code Igniter
 
Code Igniter 2
Code Igniter 2Code Igniter 2
Code Igniter 2
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
 
Introduction To CodeIgniter
Introduction To CodeIgniterIntroduction To CodeIgniter
Introduction To CodeIgniter
 
WebGUI Developers Workshop
WebGUI Developers WorkshopWebGUI Developers Workshop
WebGUI Developers Workshop
 
Yii Introduction
Yii IntroductionYii Introduction
Yii Introduction
 
Play!ng with scala
Play!ng with scalaPlay!ng with scala
Play!ng with scala
 
Intro to Laravel 4
Intro to Laravel 4Intro to Laravel 4
Intro to Laravel 4
 
Benefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBenefit of CodeIgniter php framework
Benefit of CodeIgniter php framework
 
Exploring Symfony's Code
Exploring Symfony's CodeExploring Symfony's Code
Exploring Symfony's Code
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexy
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_Tool
 
Symfony2 - from the trenches
Symfony2 - from the trenchesSymfony2 - from the trenches
Symfony2 - from the trenches
 
Intro to ColdBox MVC at Japan CFUG
Intro to ColdBox MVC at Japan CFUGIntro to ColdBox MVC at Japan CFUG
Intro to ColdBox MVC at Japan CFUG
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplications
 
Getting Started with Zend Framework
Getting Started with Zend FrameworkGetting Started with Zend Framework
Getting Started with Zend Framework
 
Codebits 2012 - Fast relational web site construction.
Codebits 2012 - Fast relational web site construction.Codebits 2012 - Fast relational web site construction.
Codebits 2012 - Fast relational web site construction.
 
Spout - Building a RESTful web app with Angular.js and BEAR.Sunday
Spout - Building a RESTful web app with Angular.js and BEAR.SundaySpout - Building a RESTful web app with Angular.js and BEAR.Sunday
Spout - Building a RESTful web app with Angular.js and BEAR.Sunday
 
Intro To Mvc Development In Php
Intro To Mvc Development In PhpIntro To Mvc Development In Php
Intro To Mvc Development In Php
 

Recently uploaded

National-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptxNational-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptxAlecAnidul
 
Common Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themCommon Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themmadhavlakhanpal29
 
FW25-26 Fashion Key Items Trend Book Peclers Paris
FW25-26 Fashion Key Items Trend Book Peclers ParisFW25-26 Fashion Key Items Trend Book Peclers Paris
FW25-26 Fashion Key Items Trend Book Peclers ParisPeclers Paris
 
Heuristic Evaluation of System & Application
Heuristic Evaluation of System & ApplicationHeuristic Evaluation of System & Application
Heuristic Evaluation of System & ApplicationJaime Brown
 
Research about Venice ppt for grade 6f anas
Research about Venice ppt for grade 6f anasResearch about Venice ppt for grade 6f anas
Research about Venice ppt for grade 6f anasanasabutalha2013
 
Dos And Dont's Of Logo Design For 2024..
Dos And Dont's Of Logo Design For 2024..Dos And Dont's Of Logo Design For 2024..
Dos And Dont's Of Logo Design For 2024..GB Logo Design
 
CA OFFICE office office office _VIEWS.pdf
CA OFFICE office office office _VIEWS.pdfCA OFFICE office office office _VIEWS.pdf
CA OFFICE office office office _VIEWS.pdfSudhanshuMandlik
 
BIT- Pinal .H. Prajapati Graphic Designer
BIT- Pinal .H. Prajapati  Graphic DesignerBIT- Pinal .H. Prajapati  Graphic Designer
BIT- Pinal .H. Prajapati Graphic Designerbitwgin12
 
Art Nouveau Movement Presentation for Art History.
Art Nouveau Movement Presentation for Art History.Art Nouveau Movement Presentation for Art History.
Art Nouveau Movement Presentation for Art History.rrimika1
 
Spring 2024 wkrm_Enhancing Campus Mobility.pdf
Spring 2024 wkrm_Enhancing Campus Mobility.pdfSpring 2024 wkrm_Enhancing Campus Mobility.pdf
Spring 2024 wkrm_Enhancing Campus Mobility.pdfJon Freach
 
Design lessons from Singapore | Volume 3
Design lessons from Singapore | Volume 3Design lessons from Singapore | Volume 3
Design lessons from Singapore | Volume 3Remy Rey De Barros
 
Pitch Presentation for Service Design in Technology
Pitch Presentation for Service Design in TechnologyPitch Presentation for Service Design in Technology
Pitch Presentation for Service Design in TechnologyJaime Brown
 
The Design Code Google Developer Student Club.pptx
The Design Code Google Developer Student Club.pptxThe Design Code Google Developer Student Club.pptx
The Design Code Google Developer Student Club.pptxadityakushalsaha
 
Extended Reality(XR) Development in immersive design
Extended Reality(XR) Development in immersive designExtended Reality(XR) Development in immersive design
Extended Reality(XR) Development in immersive designGOWSIKRAJA PALANISAMY
 
Claire's designing portfolio presentation
Claire's designing portfolio presentationClaire's designing portfolio presentation
Claire's designing portfolio presentationssuser8fae18
 
The Evolution of Fashion Trends: History to Fashion
The Evolution of Fashion Trends: History to FashionThe Evolution of Fashion Trends: History to Fashion
The Evolution of Fashion Trends: History to FashionPixel poets
 

Recently uploaded (16)

National-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptxNational-Learning-Camp 2024 deped....pptx
National-Learning-Camp 2024 deped....pptx
 
Common Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid themCommon Designing Mistakes and How to avoid them
Common Designing Mistakes and How to avoid them
 
FW25-26 Fashion Key Items Trend Book Peclers Paris
FW25-26 Fashion Key Items Trend Book Peclers ParisFW25-26 Fashion Key Items Trend Book Peclers Paris
FW25-26 Fashion Key Items Trend Book Peclers Paris
 
Heuristic Evaluation of System & Application
Heuristic Evaluation of System & ApplicationHeuristic Evaluation of System & Application
Heuristic Evaluation of System & Application
 
Research about Venice ppt for grade 6f anas
Research about Venice ppt for grade 6f anasResearch about Venice ppt for grade 6f anas
Research about Venice ppt for grade 6f anas
 
Dos And Dont's Of Logo Design For 2024..
Dos And Dont's Of Logo Design For 2024..Dos And Dont's Of Logo Design For 2024..
Dos And Dont's Of Logo Design For 2024..
 
CA OFFICE office office office _VIEWS.pdf
CA OFFICE office office office _VIEWS.pdfCA OFFICE office office office _VIEWS.pdf
CA OFFICE office office office _VIEWS.pdf
 
BIT- Pinal .H. Prajapati Graphic Designer
BIT- Pinal .H. Prajapati  Graphic DesignerBIT- Pinal .H. Prajapati  Graphic Designer
BIT- Pinal .H. Prajapati Graphic Designer
 
Art Nouveau Movement Presentation for Art History.
Art Nouveau Movement Presentation for Art History.Art Nouveau Movement Presentation for Art History.
Art Nouveau Movement Presentation for Art History.
 
Spring 2024 wkrm_Enhancing Campus Mobility.pdf
Spring 2024 wkrm_Enhancing Campus Mobility.pdfSpring 2024 wkrm_Enhancing Campus Mobility.pdf
Spring 2024 wkrm_Enhancing Campus Mobility.pdf
 
Design lessons from Singapore | Volume 3
Design lessons from Singapore | Volume 3Design lessons from Singapore | Volume 3
Design lessons from Singapore | Volume 3
 
Pitch Presentation for Service Design in Technology
Pitch Presentation for Service Design in TechnologyPitch Presentation for Service Design in Technology
Pitch Presentation for Service Design in Technology
 
The Design Code Google Developer Student Club.pptx
The Design Code Google Developer Student Club.pptxThe Design Code Google Developer Student Club.pptx
The Design Code Google Developer Student Club.pptx
 
Extended Reality(XR) Development in immersive design
Extended Reality(XR) Development in immersive designExtended Reality(XR) Development in immersive design
Extended Reality(XR) Development in immersive design
 
Claire's designing portfolio presentation
Claire's designing portfolio presentationClaire's designing portfolio presentation
Claire's designing portfolio presentation
 
The Evolution of Fashion Trends: History to Fashion
The Evolution of Fashion Trends: History to FashionThe Evolution of Fashion Trends: History to Fashion
The Evolution of Fashion Trends: History to Fashion
 

Codegnitorppt

  • 1. Submitted By Reshma vijayan .R
  • 2.  Introduction  Why Framework not Scratch?  MVC ( Model View Controller) Architecture  What is CodeIgniter ????  Application Flow of CodeIgniter  CodeIgniter URL  Controllers  Views  Models  CRUD operations  Session starting  Form validation  Q/A  Reference
  • 3.  Key Factors of a Development  Interface Design  Business Logic  Database Manipulation  Advantage of Framework  Provide Solutions to Common problems  Abstract Levels of functionality  Make Rapid Development Easier  Disadvantage of Scratch Development  Make your own Abstract Layer  Solve Common Problems Yourself  The more Typing Speed the more faster
  • 4.  Separates User Interface From Business Logic  Model - Encapsulates core application data and functionality Business Logic.  View - obtains data from the model and presents it to the user.  Controller - receives and translates input to requests on the model or the view Figure : 01
  • 5.  An Open Source Web Application Framework  Nearly Zero Configuration  MVC ( Model View Controller ) Architecture  Multiple DB (Database) support  Caching  Modules  Validation  Rich Sets of Libraries for Commonly Needed Tasks  Has a Clear, Thorough documentation
  • 6. Figure : 2 [ Application Flow of CodeIgniter]
  • 7. URL in CodeIgniter is Segment Based. www.your-site.com/news/article/my_article Segments in a URI www.your-site.com/class/function/ID CodeIgniter Optionally Supports Query String URL www.your-site.com/index.php?c=news&m=article&ID=345
  • 8. A Class file resides under “application/controllers” www.your-site.com/index.php/first <?php class First extends CI_Controller{ function First() { parent::Controller(); } function index() { echo “<h1> Hello CUET !! </h1> “; } } ?> // Output Will be “Hello CUET!!” • Note: • Class names must start with an Uppercase Letter. • In case of “constructor” you must use “parent::Controller();”
  • 9. In This Particular Code www.your-site.com/index.php/first/bdosdn/world <?php class First extends Controller{ function index() { echo “<h1> Hello CUET !! </h1> “; } function bdosdn( $location ) { echo “<h2> Hello $location !! </h2>”; } } ?> // Output Will be “Hello world !!” • Note: • The ‘Index’ Function always loads by default. Unless there is a second segment in the URL
  • 10.  A Webpage or A page Fragment  Should be placed under “application/views”  Never Called Directly 10 web_root/myci/system/application/views/myview.php <html> <title> My First CodeIgniter Project</title> <body> <h1> Welcome ALL … To My .. ::: First Project ::: . . . </h1> </body> </html>
  • 11. Calling a VIEW from Controller $this->load->view(‘myview’); Data Passing to a VIEW from Controller function index() { $var = array( ‘full_name’ => ‘Amzad Hossain’, ‘email’ => ‘tohi1000@yahoo.com’ ); $this->load->view(‘myview’, $var); } <html> <title> ..::Personal Info::.. </title> <body> Full Name : <?php echo $full_name;?> <br /> E-mail : <?=email;?> <br /> </body> </html>
  • 12. Designed to work with Information of Database Models Should be placed Under “application/models/” <?php class Mymodel extend Model{ function Mymodel() { parent::Model(); } function get_info() { $query = $this->db->get(‘name’, 10); /*Using ActiveRecord*/ return $query->result(); } } ?> Loading a Model inside a Controller $this->load->model(‘mymodel’); $data = $this->mymodel->get_info();
  • 13. CRUD OPERATIONS IN MVC ➢Create ➢Read ➢Update ➢Delete
  • 14. DATABASE CREATION //Create CREATE TABLE `user` ( `id` INT( 50 ) NOT NULL AUTO_INCREMENT , `username` VARCHAR( 50 ) NOT NULL , `email` VARCHAR( 100 ) NOT NULL , `password` VARCHAR( 255 ) NOT NULL , PRIMARY KEY ( `id` ) )
  • 15. DATABASE CONFIGURATION Open application/config/database.php $config['hostname'] = "localhost"; $config['username'] = "root"; $config['password'] = ""; $config['database'] = "mydatabase"; $config['dbdriver'] = "mysql";
  • 16. CONFIGURATION Then open application/config/config.php $config['base_url'] = 'http://localhost/ci_user'; Open application/config/autoload.php $autoload['libraries'] = array('session','database'); $autoload['helper'] = array('url','form'); Open application/config/routes.php, change default controller to user controller
  • 17. Creating our view page Create a blank document in the views file (application -> views) and name it Registration.php /Login.php Using HTML and CSS create a simple registration form
  • 18. public function add_user() { $data=array ( 'FirstName' => $this->input- >post('firstname'), 'LastName'=>$this->input- >post('lastname'), 'Gender'=>$this->input->post('gender'), 'UserName'=>$this->input- >post('username'), 'EmailId'=>$this->input->post('email'), 'Password'=>$this->input- >post('password')); $this->db->insert('user',$data); }
  • 19. //select public function doLogin($username, $password) { $q = "SELECT * FROM representative WHERE UserName= '$username' AND Password = '$password'"; $query = $this->db->query($q); if($query->num_rows()>0) { foreach($query->result() as $rows) { //add all data to session $newdata = array('user_id' => $rows- >Id,'username' => $rows->UserName,'email' => $rows- >EmailId,'logged_in' => TRUE); } $this->session->set_userdata($newdata); return true; } return false; }
  • 20. //Update $this->load->db(); $this->db->update('tablename',$data); $this->db->where('id',$id); //delete $this->load->db(); $this->db->delete('tablename',$data); $this->db->where('id',$id);
  • 21. SESSION STARTING <?php Session start(); $_session['id']=$id; $_session['username']=$username; $_session['login true']='valid'; if($-session['login true']=='valid') { $this->load->view('profile.php'); } else { $this->load->view('login.php'); }
  • 22. FORM VALIDATION public function registration() { $this->load->library('form_validation'); // field name, error message, validation rules $this->form_validation->set_rules('firstname', 'First Name', 'trim|required|min_length[3]|xss_clean'); $this->form_validation->set_rules('lastname', 'Last Name', 'trim|required|min_length[1]|xss_clean'); $this->form_validation->set_rules('username', 'User Name','trim|required|min_length[4]|xss_clean| is_unique[user.UserName]'); }
  • 23. if($this->form_validation->run() == FALSE) { $this->load->view('Register_form'); } else { $this->load->model('db_model'); $this->db_model->add_user(); }
  • 24. USEFUL LINKS  www.codeigniter.com
  • 25.  User Guide of CodeIgniter  Wikipedia  Slideshare