Develope a Web Based CMS Using PHP

Download this File Here

Abstract
The Content Management System (CMS) is a web based application using a Linux Server,
Apache Web-server, MySQL Database, and PHP Programming Language (LAMP). The
objective of managing users, and information in any given network environment can only be
hindered by the creativity of an information technology professional and not by technology. The
main objective of this thesis is to develop the early development steps of a LAMP software bundleCMS. By creating the
building blocks for developing, and taking into consideration basic methods for creating the core
platform of a CMS for further development. All information gathered, and experience gained will
assist with developing and offering my own personal e-commerce business solutions in the future
and to obtain additional business and practical knowledge in an open source software and ecommerce.

Chapter 1 Introduction

There are several different commercial and Open Source Software (OSS) Content
Management Systems (CMS) available on the market. A CMS can be downloaded and
implemented in a test environment with only a small amount of knowledge in web
development practices. Customers may not find what they are looking for in prebuilt
solutions. Conforming within the limits of one CMS like Joomla, Xoops, WordPress,
Drupal, Zend Cart, and OS-Commerce can be frustrating. The process requires a large
amount of knowledge in PHP programming to be able to create a personalized theme or
manage personal modules as a client demands in a prebuilt CMS. Trying to change an
existing application to the needs of the client can amount to a great education in the
unfruitful endeavors in software implementations. When a professional tries to adjust to
some other developers intended business model, the change never seems to have the
exact requirements that a company is looking for. Creating a CMS may take a long time,
but for the organization that has more time than money, developing may be the best
option. Just about any project can be completed with enough time and knowledge of the
requirements. Creating a CMS from scratch does not start out seemingly cost effective
the potential of owning every aspect of a solution can be financial beneficial in the future
as the application becomes malleable to an organization’s requirements.
Having the architectural design and source code, allows an organization to make rapid
changes that most closed source applications would never be able to offer without the
source code. Source code is a very important possession to have; to a proprietary
company that sells information technology source code can be their only source of
income. The endeavor of creating the solution from scratch allows the source code to be
available forever within the company. The source code could allow for an organization to
effectively, provide a solution to the requirements that a company is seeking. Regardless
of wither the solution is for a typical business analysis report, or if the solution is
allowing for precise customizable functional designs. The CMS will have a significant
better chance of evolving within the organization during the development of the website
that fits an organization’s web based needs.

Background of the Problem

Commercial and open source companies create modules and components for users to
implement within their personal CMS. The availability of open source solutions is ever
increasing because of the creation of new and free applications made from the many
different demands of users. During a project endeavor to create the solution a client will
want an excellent product that is cheap, and they want it yesterday.
Developing a web site can take a few months to a few years when there are factors in
design, aesthetics, and functionality to be considered amount several different groups
within an organization. While development can take a lot of man hours to complete, there
can be trivial to no overhead in software costs to users because licensing costs after initial
development should be of little concern. A person can learn everything they need to
know about web development on the Internet, but it may help to purchase education
books.

Statement of the Problem

The problem addressed in this study is the ability to create the core requirements of a
CMS for organizations using all OSS technology with an emphasis on being open object
oriented within a Model View Control/agile framework, to provide a web based
application that will meet the needs of a business and be easily to moderate in the future.
Objectives of the Study
The objective of this exercise is to analyze the beginning stages of development and
establish the initial programming of a core CMS that is PHP driven. The CMS will be a
website that will allow for additional plug-ins. By creating the foundation of the CMS, I
will have the opportunity to modify the projects PHP source code and quickly make
changes to the design. The final product of the core CMS may also be used for
educational purposes.
Rationale for the Study
To research conventional methods to design a core CMS using current application
design methodology while focusing on a platform that uses Linux, Apache, MySQL, and
PHP. The front end solution will use HTML in order to determine current best practices
for web development and content management systems.

Research Question

How to build a core CMS with best practices implemented using PHP, MySQL and
HTML?

Nature of the Study

The nature of this study is to complete a comparative analysis of best practices in web
development when building the core system of a content management system. The study

will also be a project to establish the beginning of a core content management system
using PHP, HTML, and MySQL on an Apache Web Server running on a CentOS Linux
Server.
Significance of the Study
The significance of the study is to continue the development of knowledge that can be
leveraged to gain employment within a company that requires in depth comprehension of
how open source solutions can be leveraged. Research will also establish additional
educational material for future research publications in web development to create
solutions for organizations.

Definition of Terms

  • CSS – Cascading Stylesheets Sheets helps format the look and feel of an HTML document through presentation semantics.
  • CMS – Content Management System is a computer program that allows publishing, editing and modifying content within the application.
  • CRUD – Create, Reuse, Update, Delete are the four basic functions of a persistent storage implementation.
  • HTML – Hypertext Markup Language, the main language for displaying web content in a web browser.
  • IDE – Integrated Development Environment, a program to promote the complexities of developing comprehensive programs.
  • ISS – Internet Information Server is the web server that comes pre-packaged within windows servers.
  • JavaScript – A scripting language that can be considered to implement to add functionality and user enhancements in a web page.
  • LAMP – A term used for the platform of servers that host a web application a LAMP stack consists of a Linux, Apache, MySQL, and PHP server.
  • MVC – Model View Control is an architecture design for separating different interactions within a program.
  • OOP – Object Oriented Programming using class object to extract instances of a section of code when necessary using techniques like inheritance to different classes logically.
  • PHP – Hypertext Preprocessor is a server side embedded scripting language.
  • WAMP – A term used for the principles of servers that host a web application a WAMP stack consists of a Windows Apache, MySQL, and PHP server.
  • XML – Extensible Makeup Language is a markup language that helps determine the rules for encoding documents.

Assumptions and Limitations

While most people prefer to save money, there is sometime a need for speed or the
inability to provide web developers with the physical resources needed to implement a
free solution. There is a minimal amount of up to date available information in academic
libraries to provide adequate research material. Most research will be obtained through
the Internet, and personally purchased reading material.

Chapter 2 Background and Literature Review

The Internet since its humble beginnings in 1969, when it was a government funded
communications network called ARPAnet, is constantly evolving (McKenzie, 2011).
Creating the Internet into the experience that it is today was also helped along by some
very huge companies like AT&T. Personal interest groups and academic organizations
also took a large role in transforming the Internet into what we see today (Crovitz, 2012).
The Internet, in its infancy, was just a textual messaging system. User requirements grew
for pages that use a markup language for formatting the pages instead of explicit text
pages. Formatting text displayed in a browser was accomplished using Hypertext Markup
Language (HTML) to create a solution to the problem of viewing clear text formats. As
interests in the Internet increased, so did the need for the Internet to necessitate
interaction for users with a graphical user environment. Web pages could not be static
anymore as business pushed for the ability to do more than provide information and be
able to offer online sales and services with interactive pages using methods like
JavaScript, Adobe Flash and Dynamic-HTML. A most significant change in how we use
the Internet was the beginning of server-side scripting languages. Server-side scripting
languages gave developers the ability to use dynamic web pages and create transactionaloriented
web pages. Production companies have used server-side scripting language
extensively in the production. Some of the larger corporations that offer these scripting
languages include Oracle’s Java Server Pages (JSP), open source Perl, Microsoft’s Active
Server Pages (ASP), and the open source Hypertext Preprocessor (PHP), (Suraski, 2002).
Scripting languages allow user access to data bases that opened the door for how we use
the Internet today with electronic commerce (e-commerce). The popularity of Open
Source Software (OSS) when developing web pages has continued to grow. OSS
solutions are not implemented quickly like proprietary software. OSS does not have as
many positive paid reviews as mature software programming model. This may be the
reason that many professional may no implement OSS solutions. Because of the lack of
the same marketing strategy that is available to proprietary providers that invest a
significant amount of capital into marketing there product (Gittens, 2007).
Open Source Software
OSS is a set of practices used to collaborate with software source code that is freely
available through copywriting laws. OSS can come from individuals separated by various
cultural, corporate boundaries, language and other characteristics in order to work
together to create complex, non-proprietary software. Software is open sourced when it is
free to redistribute the source code with it as well as in compiled mode. The open source
licensing creates a way to get the source code of a program readily available to anyone
that request access. OSS protects the original author of the software, does not
discriminate in any way on how it can be used, cannot be specific to a product or
software, cannot restrict other software and has to be technology neutral (open source,
n.d.).
Open Source Software (OSS), is the most viable solution for creating a CMS because
of its popularity, performance, and cost effectiveness. As of September 2012,
Sourceforge.net’s website proudly boasts numbers of 3.4 million open source developers
working on over 324,000 OSS projects with an average of 4 million OSS downloads per
day. Most popular OSS software that can be easily obtained and utilized on the Internet
is the Linux OS (Operating System), Apache Web Server, MySQL Database, and the
Hypertext Preprocessing Language (PHP). There are several other applications that can
be used to develop websites the grouping of Linux, Apache, MySQL and PHP has grown
in popularity that it now has its own acronym, LAMP. LAMP covers on virtually all
popular web hosting sites. Other open source software like Java, the Tomcat Server, and
proprietary software like Microsoft’s ISS is not as popular because of the increase in cost
to run a web based platform.
Some of the more widely known open source licenses include the GNU
(Graphical Environment of Linux Servers and Desktops); Mozilla (Firefox, Thunderbird),
MIT, BSD (like UNIX), and Eclipse (Eclipse IDE). Because of the lack of dependence on
software vendors, open source software allows the software to transform and morph into
potentially anything the users and developers lack the finances to purchase.
Apache web server
Apache the HTTP web server is continuing to be one of the most popular web servers
for hosting web content. Wither it is in commercial or open source terms (Open
platforms, 2012). Apache Web Server is the 1995 collaborative project that offers the
source code for free to the HTTP Web server (Apache, n.d.).

MYSQL Database

MySQL is the world’s most popular database and is powering some of the largest
companies online, including Facebook, Google, Amazon, and Yahoo (Henschen, 2011).
It is an outstanding combination of fast SQL queries with access to the source code for

free has made it another success like Apache and PHP with over sixty five thousand
downloads per day (Mysql, n.d.).

PHP: Hypertext preprocessor

The hypertext preprocessing language (PHP) is an open sourced product that lacks the
marketing power from companies like Adobe Flash and Oracle’s Java. It is a server-side
multi-platform, scripting language that can be embedded within HTML. Unlike JSP,
(Java Server Pages), and ASP (Active Server Pages), PHP is a language for a task of
making web sites. Strongly acknowledged as bundled part of the Apache Webserver,
PHP can be installed on other Web servers (Kevin, 2002). Thanks to companies like Red
Hat and Zend, the popularity of PHP is increasing as they offer built in platforms that
provide support for PHP developers (Red hat, 2012). Some of PHP’s strengths are that it
is extraordinarily fast and can serve millions of hits per day. PHP is free so that it can
inexpensively be deployed horizontally scaling within a large number of servers. PHP
can be integrated with many database systems within the PHP libraries there is also a
built in libraries for common Internet tasks like parsing XML, sending email, working
with cookies, generating PDF documents, and all with just a small amount of additional
code. Other reasons that PHP is growing in popularity is its portability between systems,
the flexibility of development approaches, the similarities between Java and C
programming, and availability of supporting documentation and support (Welling &
Thomson L, 2009).

Integrated Development Environment

Developers use IDE (Integrated Development Environment) platforms to help
developers organize there programming lines of codes file structure. IDE’s is not
available for all languages. IDE’s become more popular as the programming language
matures and there is stronger need to manage the lines of codes. IDE’s to help structure
and organize the system blocks for any given complex application. Several commercially
paid, and free versions exist for PHP that can be either downloaded for free or purchased.
A couple of the most popular IDE’s is Zend Studio’s Eclipse version and PhpStorm.
Zend Studio is from the creators of PHP and ideal for developers who are already
familiar with Eclipse or IBM’s commercial version Rational (Wayner, 2012).
Model View Control
In the classic MVC (model, view, control) methodology, the controller is primarily
the mediator between the user’s actions through the view of the user interface. In the case
of web development, this would be the web browser, and the domain logic, calls to the
database, captured in the Model (Shaw, 2012). Some of the competing software already
uses the MVC methodology. Microsoft uses an ASP to create their MVC platform. The
name of the platform ASP.net MVC 4 was first offered in 2010 (Krill, 2012).

Chapter 3 Research Materials and Methods

The project is to implement a core content management system using PHP, HTML,
and CSS with MySQL database, Linux CentOS and Apache servers. It will be a
launching ground to recognize today’s best practices in web development and security
when developing an interactive website. The research question below is answered using
the implementation of the project model.

Research Question

How to build a core CMS with best practices implemented using PHP, MySQL and
HTML?

Methodology

Methodology to answer the research question will be using qualitative analysis and
synthesis of other people’s research. This will allow the discovery of useful information
to implement a project design that can be used to analyze the components as part of the
project.
In order to satisfy my stated research question I will be conducting a comprehensive
search for relevant studies and literature reviews found in different stages and using the
following sources:

  • Google Scholar
  • Google
  • ABI/IFORM Global
  • Current books available inweb development, PHP, and CMS

Collected information on studies that examine the research question will then be
analyzed for information from acceptable studies and decisions. A statement made
highlighting implications and alternative solutions when available, and analyzing popular
CMS sites (WordPress, Drupal and Joomla), to determine design factors like the directory
structure on the server and development of SQL tables.
Research will include search strings like “PHP web development evaluation”, “PHP
MVC templating”, and “comparison of PHP4 and PHP5”. There were several other
results found, but few that were relevant because they were to general or did not cover
the stated research question. Common used search strings can be found in the following table 1.

Table 1.
Search Strings Used
Search Strings Used
PHP5 web development
Comparison of PHP4 and PHP5
PHP MVC web development
PHP CMS web development
Web development best practices
PHP best practices
PHP framework evaluation
CMS best practices
MySQL and PHP

In order to implement a solution for creating the content management system using
conventional and available technology, common development solutions, and compared
against other development resources for evaluation. All development coding and
resources must be able to work within the testing environment.
Once completed, checks to make sure that the solution can be implemented on a
LAMP web hosting platform, and security measures are in place. The following Table 2
lists the server information requirements that will be used as a testing framework for my
research project.

Table 2. System Requirements

System Requirements

Name/Version

Comments

Linux x86 CentOS 5.5

Sever

Apache 2.2.21

Web server

PHP 5.3.10

Coding

MySQL 5.1.52

Database

Model View Control methodology will be a part of the process and will prove that
PHP can be used for the modeling and the viewing without the need of a templating
engine.
The stable release of PHP is an acceptable practice with several security options, not
in previous releases. The release of PHP5 has several security and development
DEVELOPING A WEB BASED CMS USING PHP 23
improvements that utilized within the CMS development stages. Comparison on
programming and security can be taken from the developer’s website along with
publications and well established developing websites within the web development
community.
To determine what applications should be used for developing websites with PHP, I
will be comparing and contrasting the most commonly used methods. Conclusion based
on my own experience and what is available through online discussions will allow me to
come to my own conclusions.
Milestones

  1. Determining what software, by criteria, can be leveraged to develop a PHPwebsite
  2. Directory Structuring on the server for security and manageability of code
  3. Determining if there is a need to use a templating engine
  4. Example SQL syntax
  5. A HTML5 structuring with CSS3 template for a welcome page
  6. Example PHP coding for user management

Chapter 4 Details of Research

Introduction

Running through several sites and books it took several attempts and failures to
determine the appropriate methods of creating a basic content management site that uses
PHP5, CSS, and HTML. Several options are available for creating a site, and the hardest
steps to determine are the beginning ones. Having the correct PHP, web-server, and
database settings took the longest time. It took weeks to decide on the structure if the
websites directory hierarchy. The decision to develop user login requirements in the
beginning was to handle the first step of a CMS, the user login form. The login form is
the first step required when a use reaches a protected site. When the user logs-in they will
have access to the content available.

Applications

The main constraint for development of a CMS is cost, every tool that is available I
want available to anyone with access to a computer and the Internet to be able to
duplicate my choices. The second constraint is the popularity because the popular the
tool, the more options, references, and communities and web-hosting sites that provide
the same solutions I propose are available on the Internet. Keeping the solution free from
commercial applications was to promote the development within a framework that can be
attained by anyone. People that cannot provide start up monies in order to educate
themselves. Freely available software can help develop future developers who may not
believe they have the tools on hand. Because most other talked about frameworks, take a
lot of money or education to begin development. One of the most expensive IDE’s would
be for Microsoft Visual Basic. Availabilities of even less expensive programming
languages like Java still require a considerable more amount of education and webhosting
costs, like for a Tomcat web-server. Most web hosting companies offer a LAMP
stack for development web pages and some of the most popular content management
systems like Joomla, Drupal, and WordPress also use the LAMP stack because it is FOSS
(free open source software). This is the reasoning that I have chosen to develop my CMS.
To develop around software that is easily accessible, free to use and distribute, with a
broad community base online for referencing and support.
In order to develop a PHP system, the servers present need to work with PHP. The
PHP server can be installed on Apache or IIS (Internet Information Server) Web Servers,
created to run strictly with Apache and when used in conjunction with IIS, usually creates
create problems and further editing of configuration files are necessary for it to work
correctly with IIS after installation of the a PHP server.
In order to track, monitor, and modify user’s content based on what a user wants it is
necessary to have some way to have a straightforward way to store and access
information. This is where SQL (Structured Query Language) databases come in, because
of the amount of information that can be quickly accessed as a system grows by a SQL
server. Data is more easily to structure and also to secure with SQL. Just about any
database can be accessed and modified through PHP including MS-SQL, Oracle, and
DB2. Because MySQL is free to download, MySQL is the most popular to use in web
development. MySQL is one of the few databases that offered by web-hosting companies
for no additional charge, and there is a free web based graphic environment plug-in to
modify the MySQL database. The following Figure 1 is a demonstration of what MySQL
access looks like from the admin console. Notice the lack of ability to accomplish
anything easily from a novice’s perspective.
Figure 1. MySQL Command Line Client.

[fusion_builder_container hundred_percent=”yes” overflow=”visible”][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

MySQL command Line Client

Visual Display


Even experienced developers prefer to build their databases using PhpMyAdmin
(http://www.phpmyadmin.net). PhpMyAdmin is a free tool written in PHP that helps
manage the administration of a MySQL server by offering support through a wide range
of operating inside a MySQL server. SQL operations that can be used through the user
interface can assist in managing databases, tables, fields, relations, indexes, user
permissions and even execute directly to the MySQL server SQL syntax statements. The
below Figure 2 displays a few options of how phpMyAdmin can be viewed compared to
the command line tool offered with MySQL.
Figure 2. PhpMyAdmin.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

PHP MyAdmin

PHP MyAdmin


Because I do not want my trial and errors seen by anyone on the Internet I have
postponed moving my development to the Internet until next year., If all things go well, I
will move all my WordPress documents to my own personally built CMS. Until then, I
need to have a system ready that can reproduce the options available with a web hosting
site like Hostgator.com and GoDaddy.com. This means selecting software that can run on
my computer. A WAMP (Windows, Apache, MySQL, and PHP) server that could run on
a Windows 7 platform and give me all the options that I would expect from an LAMP
web-serving host would need to be chosen. Two of the most popular software that is
available for free downloads are XAMPP, and WampServer. XAMPP for windows offers
several options including an FTP server, Tomcat server for Java, and Perl. WampServer
offers just the basic functions I was looking for; an updated version of PHP, Apache and
MySQL. XAMMP was not as easy to configure. XAMMP tries to install Apache and
MySQL as services on the computer which was extremely volatile because of the security
settings in Windows 7. The configurable, settings seen in the following Image 3 for
WampServer, worked flawlessly and was remarkably straightforward to configure. A
version to download can be found at this link: http://www.wampserver.com/en/.
Image 3. WampServer Options.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

WampServer Options

WampServer Options


With financial limitations of various potential developers in the world including this
author, I have chosen to go with a free Integrated Developing Environment Platform
(IDE) because developing a system as comprehensive as a CMS, would be extremely
complicated to develop using only text files, an IDE can be particularly useful. One of the
most popular IDE’s that is also extensively used for Android development, Java, XML,
and PHP is Eclipse. Eclipse, shown below in Image 4, is the free version of IBM’s
Rational IDE, released to the public as open source software to further promoted the
development of Rational. In the several years since Eclipse’s release, there have been
several different versions released. With the right plug-ins, it allows users to view syntax
highlighting, can help with code completion, navigation, errors and warning highlighting,
debugging, refactoring and code generation. It can be used by individuals and companies
world wide.
Image 4. Eclipse for PHP Developers.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Eclipse for PHP Developers

Eclipse for PHP Developers


The other popular IDE for PHP development is NetBeans by Oracle. NetBeans and
Eclipse are both downloadable for free, but Eclipse is what I have been training on for
years. In the end, it is primarily a decision that can be made personally. Both products
provide the same functionality. The free download of Eclipse with Zend allows for PHP
debugging, compiling warnings, and syntax highlighting (Zend.com). NetBeans can be
downloaded for free at: www.netbeans.org.

Folder Hierarchy

After choosing the software to use, there is still a considerable amount of options to
consider programming can begin. A great amount of time has to go into understanding
the amount of possible information that may be presented as the solution matures. Having
a straightforward way to manage all the different files that are within an organization is
also necessary. Building a directory structure that makes browsing and storing
information easier for the developer is particularly useful. In order to determine how to
partitioned information into a directory structure, it can help to imagine ways that it may
be useful. One way is creating user rights that require security checks on folders in a
CMS on the server side. Knowing that everything an administrator can do is all located
within the administrator section. Creates less of a problem for determining what should
be changed to what should not. It also allows determining what rights certain files should
be had if they should be read, write or execute only. For a designer on a CMS project, it
helps determine what files should be worked on from ones that should be left alone.
A directory structure can be highly subjective but should make sense to everyone that
will be using it, the programmers, and designers. In the below table, is the basic folders
that can be designated for use when building the CMS. All folders may not be used in the
beginning, but forethought on the growth and complexity of the application in the future
should be taken into consideration. Table 3 below illustrates the folders with the logical
explanation for choosing these folders.
Table 3
Directory in Web Server

Folder Name Folder definition/Reasoning
admin The place to configure all website maintenance
cache Cache is a place to store previously used views so that PHP does not have to build the code from scratch again and database queries.
classes When implementing personal classes for OOP, this is internal classes would be stored.
components Major extension, an elaborate arrangement that can be broken up into less complex components. This is how MVC can be broken up.
configs Stores additional configuration settings
editor This folder can be used to store an external WYSIWYG editor.
extClasses Classes created by others that may be added to the CMS.
help A location to keep all help files. Proper documentation here can help a lot in the future.
images A place to store uploaded images.
includes Functions and other files that handle the arrangement and management of information besides the classes and components.
media Like the editor folder, media is for editing and management media.
modules Minor extensions that create small screen boxes with useful information like who is online, but not necessary like components.
params Static parameters for some functions and classes can be stored here for easy access.
templates Besides for the admin templates this folder will hold all the other templates for changing the look of the CMS through HTML, JavaScript, and CSS

The creation of a folder hierarchy helps to differentiate certain sections from other.
One example is the admin folder. The admin folder maintains separate modules,
components, help files, media, editor, and template files. Separating content into other
folders helps securing content for server administrators. Areas of the CMS can be
differentiating between user access and admin access by folder areas. Within
components, there is a separate folder within each component. Under the component for
users, there are three folders used to create a MVC that will be necessary for separating
design, from the data, and the controllers that call upon the data. A visual representation
of the folder hierarchy in a folder view can be found in appendix B,

MVC and Templating

As discussed, because code can start to become exceedingly complex as the project
grows it becomes more and more beneficial to separate business logic and presentation
data separately. The Model will contain the methods used to call on the database and
make add, remove update calls to the database. The Controller is responsible in the
application for holding all other PHP code that does not directly manipulate data from the
database. An example would be code that answer requests from the user and calls on the
model to modify the stored data. The View is part of the programming that will represent
the HTML. The View is commands called from the controller that requested methods
from the Model to display through rendered HTML, JavaScript, CSS and/or images as
seen in the below Figure 5.
Figure 5. MVC.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

MVC

MVC


A templating engine within the View can assist in separating presentation logic
and existing business logic. A good PHP programmer should be able to separate the two
in separate files without needing a templating engine. The templating engine is just one
more step of coding that would need to be learned in order to develop the CMS. The
CMS would also be dependent on an additional layer and would cause concern about the
templating engine needing updates. While a templating engine looks good in paper, I
have come to the conclusion that it is an unnecessary step in creating a CMS. PHP’s
history started out as being a templating engine. While a templating engine could reduce
errors from designers, there is no reason to begin to make another processing layer to the
PHP code when PHP is still supremely capable of templating on its own. Making sure
that it upholds to the MVC methodology and keeps PHP that deals with only viewing
information in the Viewing folder of the systems components.

Database

Database creation is necessary to define before coding even begins if not done
right it can hinder the ability of the programmer to write good code. Take for instance the
ability of PHP to take a password form a form and have it transformed into a MD5 128-
bit hash value before passing it into the database. A 128-bit hash requires 32 characters in
a database field to work, if the database can be set up without the ability to store a 32
character password, it would fail in the beginning. Another to take into consideration is
types of data fields that may be created in the near future. While the database can always
be changed later if the fields are already available, it takes away some of the unnecessary
time of re-visiting the database to make corrections. There is also the possibility of
circumventing the need to fix additional mistakes that may be created when modifying
the database.
MySQL SQL offers the same standard data types and syntax that is available in
other databases. The below Figure 6, it displays the values set for the user table of my
database.
Figure 6. User Table.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

User Table

User Table


As previously discussed the 32 character data set for the password field is missing.
Instead, it is a 255 variable character data set; in case there is a change of mind on how to
handle passwords in the future. It will be able to do a change without forcing a person
into resetting there password the next time they visit the site. Not all fields will need to be
used in the beginning; the fields used are the id, userName, and password. The other
fields can be used to better track users to:
See how many times a user has tried to log in
To send emails reminders/notifications
See if the user is active
Promote a user to the admin group
See how long a user has stayed on the site
Know last actions a user had on the site

HTML5 & CSS

HTML5 is the new standard for hypertext markup language. It offers the ability to
support CSS3 fully and offers new elements and attributes. In order to understand how I
have created my index.php, the first page of the site displays the basics of how HTML
can be used. The standard blocks used in most of an HTML5 page can be viewed in the
next figure, Figure 7.
Figure 7. CSS ID Tags.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS ID Tags

CSS ID Tags


By using the <div> tag and assigning different id’s to the <div> tags, it allows to
structure the theme from a single file in the CSS (content style sheets) that is a link to the
index page using the below HTML code example displayed in Figure 8.
DEVELOPING A WEB BASED CMS USING PHP 38
Figure 8. CSS Link.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Link

CSS Link


PHP Code Examples

It is indispensable to have a general example of HTML blocks that are within the
CMS so that the PHP program can be better understood. Using the include_once
command can separate logical parts of code and HTML sections. Figure 9 below displays
how the commands in index.php can be used to view several pages in one by linking
several different pages together from within the CMS directory.
Figure 9. Index.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

 Index.php

Index.php


Line 6 in index page above demonstrates how to store unique user information for
each user when they authenticate on the CMS. Line 8 checks to see if the user has logged
in if they are it prints a welcome message at the top of the screen. User will have a
password email reminding them of their password if forgotten. Additional options for the
user are to login again or register. The login page can be broken into several different
PHP pages. Shown below is the next page of CMS (login.php) in Figure 10 contains the
form needed to login.
Figure 10. PHP Login Form.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

PHP Login Form

PHP Login Form

(Tables are Deprecated now, look into using DIV tags)


The PHP has ended, and normal constructs of a basic HTML form shown below in
Figure 11, presents how the data passes to the browser with the POST function of the
HTML form. The HTML form will send to the PHP page the session variables to be used
against the database for authentication.
Figure 11. HTML Login Form.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

HTML Login Form

HTML Login Form


The user enters in their user name and password, and select log in, which send the
information to auth_user_fns.php script that includes the database_fns.php script used to
connect to the database. The commands stripslashes() and mysql_real_escape_string() in
the function below scrubs the user name and password. Scrubbing cleans PHP form fields
that posts data to a SQL server. Scrubbing stops hackers from penetrating the database
for to steal information through SQL injections. A demonstration can be seen in the
following Figure 12.
Figure 12. PHP to Check for SQL Injection.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

PHP to Check for SQL Injection

PHP to Check for SQL Injection


The user name and password can then be checked against every user name in the
database until it finds one match and only one match. The PHP code marks the user, as a
valid user, and directs them to the index page. Next the user can begin to browse, or
modify pages based on their rights. The coding displayed in the following Figure 13.
Figure 13. PHP to Check if User Exist.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

PHP to Check if User Exist

PHP to Check if User Exist


Additional PHP examples, database entity relation database, CSS sections can be
found in the appendices for further information on how I have developed the initial CMS.

Chapter 5 Conclusion

While CMS sites are comparatively uncomplicated to use once created, I do want to
note that initial installation, development, and configuration will be more difficult than
just throwing a few PHP, CSS, HTML and JavaScript elements together. Most
developers have focused their experience on either front-end or back-end development.
Because of all the necessary steps, to build a web based information architecture that is
for an application to be secure and free of bugs. Anyone that takes on the action of
creating a fully functional CMS should look to have an extended network of colleagues to
collect best know practices, and other additional programming knowledge. Any one who
endeavors to create a CMS on the web using a commercial website hosting company.
Should look for a hosting company with interfaces for easy installation and management
of MySQL and PHP plug-ins. Before PHP and HTML can be fully utilized, there is a
learning curve for configuring and setting up Apache, PHP, and MySQL configurations
and security. Using PHP there is a possibility to design a wide range of Internet websites.
The developer of an interactive website will have to make many decisions about what
functionality and user interfaces to use and allow.
The following Figure 14 displays how my first build of the website will look like
from the front end.
Figure 14. Final Front End Display.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Final Front End Display

Final Front End Display


Conclusion

Any web development project does take a high level of experience in many different
areas. Building a large scale CMS is like building a house. It would take an
extraordinarily long time and a lot of training for only one person. Most successful large
project in web development may section portions off into smaller manageable groups,
depending on the amount of technical experience that is necessary. Unlike other
programming languages that run through a compiler before shipping to the client, PHP
source code is available for the client to open up and take advantage of a programmer’s
code to further their own work. This could be looked at as either and advantage for
promoting sales or a disadvantage because one can not secure the code after distributing a
project to a client.
PHP is primarily a web development language with many abilities within the
core, and additional libraries have not been introduced because it is primary a web
development tool, a good understanding of other technologies like Bash, Cron, Perl, CSS,
JavaScript, and HTML are necessary in order to deliver a commercial product.
This author would define himself as an intermediate web developer when developing
PHP at the start of the project. With future study and implementation of different
methods of PHP coding, security, and creating functioning sites that offer users different
services I plan to become an expert there are several different reasons why I have
selected this topic. Future work is to created documentation for publishing that can help
to educate students on how to develop interactive web pages that follow object orientated
programming (for advance classes) using best known practices in the World Wide Web
and information architecture.
After creating the base system, the CMS can be utilized to create system available in
today’s market. Some of the applications can be envision and created can be a document
repository system, client management system, online sales management system, a
company’s intranet and/or Internet site.
Suggestions for Further Study
Future work that will add functionality to a CMS and also incorporate further study
could also include introducing the PEAR library framework of reusable PHP components
that offer the ability to for PHP that comes with extensive functionality for PHP
developers like the ability to authenticate to many different types of operating system
authentication servers. This would be immensely useful because companies ask that any
new applications use the same single sign on for security that they are already using.
Wither it is working with Active Directory, Radius, LiveUser or OpenID. Additionally
the PEAR library offers prepackaged code that will manage XML, caching, event
handling, file systems, logging, mail, math, numbers, and other functions that found in
other programming languages like Java, yet tailored specifically for web applications and
web service like Amazon.
When learning about the technology that drives a CMS, one can begin to discover all
the addition work that goes into the creation. The ability to create information
architecture around a large CMS is imperative for functionality of the system to work
correctly. The technology and methods that drive the Internet are numerous, and there is
always a new method for web security and web development presented every year that
needs to be evaluated. Make sure to stay involved with discussion lists, professional
associations, books and journals available online or at the library that deal with
application development.

References

 

  • Apache. (n.d.) HTTP Server Project. What is the Apache Server  Project Retrieved from: http://httpd.apache.org/ABOUT_APACHE.html
  • Bernstein, M. (2002). 10 tips on writing the living Web. A list apart: For people who make websites, 149. Retrieved from http://www.alistapart.com/articles/writeliving
  • Bonaccorsi, A., & Rossi, C. (2003). Why open source software can succeed. Research Policy, 32(7), 1243-1258. Retrieved October 24, 2011, from ABI/INFORM Global. (Document ID: 405243571).
  • Crovitz, G. (2012, July 30). Information Age: WeHelpedBuildThat.com. Wall Street Journal (Eastern Edition), p. A.11. Retrieved August 15, 2012, from ABI/INFORM Global. (Document ID: 2723545181).
  • Feldman, D. A. (2006, April). Understanding open source: Part 2. KM World, 15(4),
  • 20,22,24. Retrieved October 24, 2011, from ABI/INFORM Global. (Document ID:
  • 1021576011).
  • Gittens, C. (2007, March). Open source is still fighting against fear. Computing Canada, 33(4), 25. Retrieved August 15, 2012, from ABI/INFORM Global. (Document ID: 1252213981).
  • Henschen, D. (2011). Why all the HADOOPLA? InformationWeek, (1316), 19-20,22- 24,26. Retrieved from http://search.proquest.com/docview/904423979?accountid=10825
  • Kevin, F. C. (2002). PHP: An open source solution for web programming and dynamic content. Information Technology and Libraries, 21(3), 116-120. Retrieved from http://search.proquest.com/docview/215832480?accountid=10825
  • Krill, P. (2012). Microsoft upgrades ASP.net MVC to enable faster-loading web apps.
  • InfoWorld.Com, Retrieved from http://search.proquest.com/docview/923642873?accountid=10825
  • McKenzie, A. (2011). INWG and the Conception of the Internet: An Eyewitness Account. IEEE Annals of the History of Computing, 33(1), 66-71. Retrieved August 15, 2012, from ABI/INFORM Global. (Document ID: 2286554181).
  • MySQL. (n.d.) Market Share. Retrieved from: http://www.mysql.com/whymysql/
  • marketshare/
  • Open platforms will win cloud race: Citrix. (2012, Nov 19). The Business Times. Retrieved from http://search.proquest.com/docview/1170523431?accountid=10825
  • Open Source. (n.d.) The Open Source Definition. Open Source Initiative. Retrieved from http://www.opensource.org/docs/osd
  • Red hat expands OpenShift ecosystem with Zend partnership to offer professional-grade
  • environment for PHP developers. (2012, Oct 09). Business Wire. Retrieved from http://search.proquest.com/docview/1095224091?accountid=10825
  • Shaw, M. (2012). The role of design spaces. IEEE Software, 29(1), 46-50. doi: http://dx.doi.org/10.1109/MS.2011.121
  • Sourceforge.net.(2012, September). Retrieved from: http://sourceforge.net/about
  • Wayner, P. (2012). Review: 2 PHP tools rise above the rest. InfoWorld.Com, Retrieved from http://search.proquest.com/docview/931169920?accountid=10825
  • Welling, L. & Thomson L. (2009). PHP and MySQL web development. The Fourth edition. Developer’s Library.
  • Zeev, S. (2002, June). The next HTML. Computer Technology Review, 22(6), 38. Retrieved August 15, 2012, from ABI/INFORM Global. (Document ID: 140669711).

 

Appendices

Appendix A: Additional PHP Code Examples

Figure 15. Index.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Index.php

Index.php


Figure 16. Header.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Header.php

Header.php

 


Figure 17. Aside.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Aside.php

Aside.php

 


Figure 18. Content.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Content.php

Content.php

 


Figure 19. Footer.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Footer.php

Footer.php

 


Figure 20. Valid_data_fns.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Valid_data_fns.php

Valid_data_fns.php


Figure 21. Require_fns.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Require_fns.php

Require_fns.php


Figure 22. Database_fns.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Database_fns.php

Database_fns.php


Figure 23. Auth_user_fns.php.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Auth_user_fns.php

Auth_user_fns.php


Appendix B: CMS Directory Hierarchy

Figure 24. Directory Hierarchy.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CMS Directory Hierarchy

CMS Directory Hierarchy


Appendix C: MySQL Create Database and User Information Tables Script

Figures in appendix C are for creating the database and adding the user fields only.


Figure 25. Create Database Script.

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Create Database Script

Create Database Script


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Create Database Script 2

Create Database Script 2


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Create Database Script 3

Create Database Script 3


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

Create Database Script 4

Create Database Script 4

 


Appendix D: MySQL Entity Relational Diagram

The below figure is a visual representation of appendix C from a relational context.
Figure 26. User Database ERD Diagram


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

User Database ERD Diagram

User Database ERD Diagram


Appendix F: CSS Script

Figure 27: CSS Script

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Script 1

CSS Script 1


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Script 2

CSS Script 2


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Script 3

CSS Script 3


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Script 4

CSS Script 4


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Script 5

CSS Script 5


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Script 6

CSS Script 6


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Script 7

CSS Script 7


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Script 8

CSS Script 8


 

[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

CSS Script 9

CSS Script 9

[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

About Adam M. Erickson

Geek, Dad, Life-Student, Biker & DIY Enthusiast Application Developer Attended Ferris State University Lives in Muskegon, MI
Tagged , , , , , , , , , , , , , . Bookmark the permalink.

2 Responses to Develope a Web Based CMS Using PHP

  1. mp3juice says:

    Hello very nice website!! Guy .. Excellent ..

    Amazing .. I will bookmark your site and take the feeds additionally?

    I am satisfied to find a lot of useful info here within the post, we
    want develop more techniques in this regard, thank you for sharing.
    . . . . .

  2. lucky says:

    can i have source code of this cms ?plz send me code on this email address uomion@gmail.com tnx n advance
    regards..
    lucky

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.