PHP CodeIgniter Tutorials for Beginners Step By Step: Series to Learn From Scratch

On 6/08/2015

Hi, Welcome to our PHP CodeIgniter Tutorial Series. These step by step tutorials are intended for beginners who want to start learning php codeigniter from scratch. It will start right away from setting up the codeigniter framework working environment and move on to more advanced topics covering codeigniter framework libraries, helpers and active record class for database communication. Another nice perk with this series is you will get to know about the popular twitter bootstrap css framework while learning.

Why You Should Learn CodeIgniter Framework?

CodeIgniter Framework is developed by EllisLab and now it is taken by British Columbia Institute of Technology. It is the simplest and light-weight PHP framework which lets you create robust web applications in no time. It is greatly appreciated for its speedy performance and smaller learning curve and suitable for highly scalable applications. And even though php codeigniter framework loosely follows Model-View-Controller pattern it doesn’t force it on you. While controller classes are required for application development, the models and view files are purely optional.

The Model-View-Controller pattern isolates the application logic from the user interface and the database communication.

Twitter Bootstrap CSS is used in this tutorial series for designing the user interface for codeigniter application and there are some dedicated articles covering the usage of bootstrap framework with codeigniter application. But you are encouraged to write down your own style sheets if you prefer.

Using Twitter Bootstrap with CodeIgniter saves the hassle of writing CSS stylesheets of your own and lets you focus on development. Later you can customize bootstrap styles to suit your need. That is the best part of using MVC pattern as the presentation layer (i.e., view) is separate, you can change the look and feel of the app anytime without disturbing the rest of it.


PHP CodeIgniter Tutorials for Beginners Step By Step

These CodeIgniter Tutorials are compiled in a way so that it starts from basics to advanced level in a sequential order and you can follow them in the same order to start digging into the framework.

How to Install and Setup PHP CodeIgniter Framework in XAMPP (Localhost)

There is only one way to master new technology quickly and it is to get your hands dirty and start to fiddle with examples. So the first and foremost step in the process of learning codeigniter is to setup the working environment. If you don’t have one and want to start from nil then follow this basic codeigniter tutorial. Likewise it will guide you to,

  • Download & Install CodeIgniter Application in XAMPP Server
  • Setup the basic configuration Details
  • Configure Database Connections
  • Accessing codeigniter url structure

PHP CodeIgniter Framework follows special url structure which is quite intriguing for newbies and this beginners tutorial will lay it out clearly for you to understand it better. By the end of this article you will have the codeigniter development environment up and ready. Read Complete Tutorial Here

How to Remove index.php from CodeIgniter URL using htaccess File

So you are up and ready for the challenge? As we already know codeigniter follows MVC (Model-View-Controller) pattern and demands a structured workflow and unique url structure to access the files. In CodeIgniter, any web page be a static or dynamic one needs controller and view files and the model file is required only in case of database communication.

CodeIgniter generates well-optimized search engine friendly URLs like for e.g., ‘’.

In general its URL structure looks like this,


Even though it uses search engine friendly urls, nobody would have missed the awkward presence of ‘index.php’ in between those codeigniter’s urls. Did you wonder how to get clean urls without ‘index.php’ at the middle of them? Yes it’s possible to get rid of it. This codeigniter tutorial will show you an easy trick to rewrite the urls with htaccess file in an efficient way and boom!!! You get clean urls that search engines love. Read Complete Tutorial Here

How to Connect to Multiple Databases in CodeIgniter

CodeIgniter is constantly upgrading to the industry changes and the older versions 2.x included database drivers like mysql, mysqli, pdo, postgre etc by default. But working with MSSQL Database Management system requires you to manually install the drivers but the latest codeigniter v3.0 includes mssql driver too.

Sticking on to the development standards of codeigniter active records library will provide data abstraction which lets you to migrate your codeigniter application easily to some other database management system later.

At times you may want to connect and work with two different databases in a single application and it is not uncommon for a developer. CodeIgniter is flexible and allows you to communicate with multiple databases at a time. Working with multiple databases in codeigniter is simpler and you have to configure the db settings properly and the active records class will take care of the rest. This tutorial will walk you through step by step to connect multiple databases in codeigniter. Read Complete CodeIgniter Tutorial Here

How to integrate Twitter Bootstrap with PHP CodeIgniter Framework

So you love twitter bootstrap framework and you are a web developer who don’t want to reinvent the wheel but to readily jumpstart into work with the help of bootstrap’s built-in css components and plug-ins. What if you want to take advantage of bootstrap’s responsive layout’s and readymade css in your codeigniter application? Wonder how to use twitter bootstrap in codeigniter framework? This codeigniter tutorial gives you the answers. It will you walk through the steps to integrate bootstrap with php codeigniter framework and let you combine the power of two robust frameworks for responsive application development.

Bootstrap’s powerful JavaScript library is built over jQuery and you will need to include jQuery files for it to work. Well! This post teaches you everything about using bootstrap and codeigniter together. Read Complete CodeIgniter Tutorial Here

Note: The above tutorial will deal only with codeigniter and bootstrap integration part but if you want to know how to build codeigniter forms using bootstrap components then read further through this article for advanced topics in the section.

How to Create Login Form in CodeIgniter, MySQL and Twitter Bootstrap

User registration and login system is one of the basic requirements of any membership driven application and as a web developer often you will find yourself building one. This codeigniter tutorial discusses about building a simple login form in codeigniter with username and password fields and verifies the input user credentials against the one stored in the database.

You will also get a basic idea of working with database, using codeigniter session library and building codeigniter forms using bootstrap css. Read Complete Login System Tutorial Here

Easy Image and File Upload in CodeIgniter with Validations

CodeIgniter provides vast number of libraries and helper classes for rapid web development. ‘Upload’ library is one among them that makes the file uploading process in Codeigniter a breeze. If you want to include file uploading functionality in codeigniter, say a way to upload user avatar or a video then never worry.

This codeigniter tutorial will teach you how efficiently you can implement the file uploading functionality and cut down the development time. Additionally it allows users to set the file uploading preferences which lets you take full control of the uploading task. By customizing these settings one can easily define the file uploading path, allowed file extensions for upload (e.g., only images), maximum file size and much more. Read Complete Tutorial Here

How to Send Email in CodeIgniter via SMTP Server

As mentioned above, codeigniter’s built-in helpers and libraries aids robust application development and ‘email’ library is one among them. This little gem of library supports a variety of mail protocols and makes the email sending process lot easier. Moreover you can configure the email preferences like mail protocol, smtp authorization, html or plain text mail etc. These email preferences can be defined either globally or at the time of sending mails (like inside controllers).

This tutorial shows you a simple example to configure codeigniter mail settings and send email with attachments using smtp protocol. It uses the Gmail Server, but you can use any third party smtp servers. Just get the smtp settings from the service provider and use it instead of the Gmail settings given in the post and you are done. Read Complete CodeIgniter Tutorial Here

CodeIgniter Database CRUD Tutorials for Beginners

CRUD is one of the primitive functions of a Database Management System. It’s an acronym for the four fundamental operations Create, Read, Update and Delete performed on databases. In SQL statements, they refer to INSERT (Create), SELECT (Read), UPDATE (Update) and DELETE (Delete) commands. Knowing the Database CRUD procedure is essential in application development particularly when you need to work with databases. These codeigniter tutorials, discusses about implementing basic database CRUD operations in codeigniter and MySQL Database in detail.

CRUD: Insert Data into Database using CodeIgniter

INSERT is the first Database CRUD process and this CodeIgniter Database Tutorial will teach you How to Insert Form Data into MySQL Database using CodeIgniter, Bootstrap CSS framework and jQuery UI. It’ll walk you through step-by-step, creating a form in codeigniter and insert those form data into database. To design the codeigniter form used in this example, we use twitter bootstrap css framework and it’s one of my all time favorite and saves time from creating style sheets of our own. Read Complete Database Insert Tutorial Here

CRUD: Read and Display Database Data in CodeIgniter

READ is the second Database CRUD operation which fetches the data from database. This CodeIgniter Tutorial discusses about implementing Database READ process in codeigniter. It will walk you through steps about reading data from MySQL Database and display it in a neat HTML Tabular format using bootstrap css. Using bootstrap will save you time from creating custom stylesheets for formatting the displayed data. Read Complete Database Read Tutorial Here

CRUD: Update Database Records in CodeIgniter

UPDATE is the third operation in CRUD and this article demonstrates about updating database record from a html form using codeigniter framework. CodeIgniter’s database update query will let you perform update operation on databases. Here the update process is accomplished by populating the details of a specific database record in form fields and updated to DB when the user edits the details and submits the form. Read Complete Database Update Tutorial Here

CRUD: Delete Database Records in CodeIgniter

DELETE is the last database operation in CRUD and it is used to delete record(s) from database. To implement this delete process in codeigniter you should use its active record delete query which allows deleting one to more records from database table easily. Well! This codeigniter tutorial will teach you everything about implementing the delete process. Read Complete Database Delete Tutorial Here

How to Create CodeIgniter Pagination with Twitter Bootstrap Styles

Pagination refers to the set of numbered links that allows you to navigate from page to page to view a large set of data. For example let’s say you want to fetch and display set of data from database and it contains several hundreds of records. In that case pagination will be very useful to display the database result set in chunks and let the user to skim through the page links which is similar to Google search results.

And this tutorial will teach you about incorporating pagination links using codeigniter’s ‘pagination’ library. However these codeigniter pagination links are pretty plain in nature but we can easily spice them up to decent looking using twitter bootstrap styles. Read Complete CodeIgniter Pagination Tutorial Here

CodeIgniter Contact Form Tutorial with Email Sending Option

Contact forms are an essential component of modern day websites and they provide a way of communication between the site users and the website owner. Incorporating a contact form is relatively easy and this codeigniter tutorial will show you about building a simple and effective contact form with codeigniter, validate the user input and send email using the smtp server. We will build a contact form to collect name, email id, subject and message from the user and send it to the website owner’s email address. Read Complete Contact Form Tutorial Here

Over To You

I hope this codeigniter tutorial for beginners has laid out some strong foundation for absolute newbies to learn from zero. I do intend to update this article regularly whenever I add up some new tutorials about codeigniter. So keep visiting :)

Further Reference: CodeIgniter Manual

Last Modified: Jan-29-2016


  1. Excellent Job ...I like it ...Cheers

  2. Lot of thanks to post this tutorial :) (y) I like it very much.

  3. This tutorial looks great, I'll read it for sure since I'd like to experiment the basics of this php framework, mainly because it requires no a dedicated virtual host and instead it fits fine in any webserver including a localhost like xampp.

    I've read the summary. Why not to extend this tutorial with something practical? A little forum or a basic warehouse management or a ticket system?

    Some hands on could be really interesting to be added

    1. Glad you liked it and thanks for your suggestions :-)

  4. dear sir
    how to make country, stat, tensile, city drop down in codeigniter please send me code

    Thank you

  5. I am a new to PHP and I have a strong wish to learn it , Thank you author for posting this list of blogs and helping me to learn in a better way
    PHP course in Thrissur

  6. Excellent tutorial at the end. Thanks a lot. Also update laravel tutorial.

  7. Awesome article, but long, yet very helpful


Contact Form


Email *

Message *