Bootstrap 5 + PHP Tutorial | Make your website dynamic
Watch other courses
In this tutorial we're going to show you how to create a landing web page, and enhance it with PHP splitting it into multiple pages & generate them using PHP Enhancing your website with backend solutions you making them fast & more user friendly. After this tutorial it would be much easier for you to add PHP code to your website & any other page.
We're going to build this website using Bootstrap 5, PHP and a pinch of CSS. The page will be fully responsive, so regardless of whether you are on while browsing this - mobile device or tablet, in any orientation it stays displaying correctly.
This is the second part of the tutorial, but don't worry you don't need to watch the first one however if you would like to i strongly encourage you watch it here.
00:00
hey guys it's david from mdbootstrap.com
00:03
and in this tutorial i'm going to show
00:05
you how to create this
00:06
page using bootstrap 5
00:09
and php so this is the second
00:13
part of our tutorial but don't worry you
00:16
don't need to watch the first one
00:18
uh but if you would like to i strongly
00:21
encourage you to do
00:23
so basically in the first tutorial and
00:26
link to this tutorial you're gonna find
00:27
in the description down below
00:28
we have created this page uh
00:32
html page using bootstrap 5 and css
00:35
only so this is the page and so what you
00:38
can do
00:39
you can either go to the previous
00:40
tutorial follow it it's like i think 40
00:42
minutes to create this page so you will
00:45
learn how to do it
00:46
or if you don't care about that part you
00:48
can just go to the
00:49
uh this repository and you're gonna find
00:52
link
00:53
in the description down below uh you can
00:55
go to this
00:56
repository and github repository you can
00:59
download it
01:00
and then you will find this final html
01:04
which is the code
01:05
uh which is the source code of this page
01:08
and this is going to be our
01:10
entry point our starting point for this
01:12
tutorial so what we're going to do
01:13
we're going to change this page from
01:16
static html page to the php page and
01:19
what we're going to do we're going to
01:20
split this single landing page
01:23
into a couple of the sub pages which is
01:25
going to be generated automatically
01:26
using php
01:27
and we're also going to add nav bar or
01:30
actually update navbar with
01:32
um with links so we can dynamically
01:36
change between between uh
01:39
different pages now for the
01:42
prerequisites
01:43
um in order to use php you need to have
01:47
a server installed on your computer and
01:50
i'm i will be using xampp so if you want
01:53
to follow that
01:54
just navigate to xampp web page
01:59
download it and install depending on
02:01
which operating system you use just
02:03
download it install it
02:04
now if you don't have xampp installed
02:07
don't worry
02:08
just pause this video right now go to
02:10
the tutorial on how to install php on
02:13
your computer which you will
02:14
again find uh in the the link uh to this
02:17
tutorial in the description down below
02:20
and then once you have it installed just
02:22
come back here
02:23
and continue watching the video and the
02:25
reason behind it is because you know
02:27
you you might you you might be using
02:29
different server not not necessarily
02:31
xampp
02:32
or you know this installation might just
02:34
look
02:35
different in the future so i just
02:37
decided to have it separately
02:38
and you will find link to the tutorial
02:40
how to install xampp
02:42
in the description so if you have xampp
02:45
or other php server ready and install we
02:48
are ready to start
02:49
so without further ado let's get started
02:53
now i already downloaded
02:57
this repository here so you can see it
03:01
here
03:01
and i have this final htm html folder
03:04
here if i open it
03:05
i can see my page over there now what
03:08
i'm gonna do
03:09
i'm gonna start xampp first so
03:12
let me run it so this is how it looks on
03:16
windows
03:17
and this is the control panel i'm going
03:18
to start apache which is the php server
03:21
and if you're using um xampp then
03:25
you should locate your htdocs folder
03:28
because this is like a root folder for
03:30
php
03:31
and what i'm going to do here i'm going
03:33
to paste this html oops no i didn't want
03:36
to do that
03:37
so i'm going to create a folder called
03:40
bs for bootstrap and php for php
03:43
and i'm going to paste content over here
03:46
now i'm going to open this page here
03:51
using localhost bs
03:54
php slash
03:58
and here it is uh this is what is uh
04:01
this was happening so our server is
04:04
basically rendering our
04:05
html file so you can already see that
04:07
server is automatically using either
04:10
html um or or different it's looking for
04:13
some
04:14
file which can open obviously we can
04:16
pass
04:17
entire extension and it will also do
04:21
the same now let's see what's going to
04:24
happen if we're going to try to open
04:26
or change this to php so i'm changing
04:30
extension to p h
04:33
p i won't i will refresh this page
04:37
now now obviously we cannot find this
04:39
index html
04:41
um no more because it doesn't exist
04:45
but if we get rid of this extension
04:48
server again will be able to open our
04:51
file okay
04:53
now let me open this in visual studio
04:56
code
04:57
obviously you can use any any
05:02
web any editor you want
05:06
you prefer you want you'd like to use
05:08
i'm going to be using visual studio code
05:10
let me enhance
05:11
um let me enhance um
05:14
font for you uh okay so what we're gonna
05:17
do
05:18
what we're gonna split our page into a
05:20
couple of
05:21
uh smaller files um and we're gonna
05:25
um we're gonna split it like that so
05:28
from index dot php we're gonna
05:32
uh move this header into the separate
05:35
file
05:36
then we're gonna move
05:39
all these different sections you can see
05:43
here so navbar
05:44
this section that company section
05:47
this section and all this section into
05:50
the separate files so basically we're
05:52
gonna have
05:53
them like this so this is header section
05:56
one
05:57
two three and so on and so on
06:00
and then i'm gonna show you how to using
06:03
php you can just combine them all
06:05
together
06:06
to to create a page and the reason
06:09
behind it
06:10
is that now imagine that you have this
06:12
html file and you want to do exactly the
06:14
same using html
06:16
so what would what you have to do
06:19
you would probably have to copy this
06:21
index.html file like
06:23
four or five times and you would have
06:26
this navbar called five
06:29
times exactly the same and this is
06:31
something which we obviously don't want
06:33
to do because if you want to change
06:35
something in this link
06:36
you will have to do it five times and
06:38
this is
06:39
not the way you should do it so let's
06:42
have a look at this
06:43
and by the way if you don't understand
06:44
it don't worry
06:46
just follow the tutorial and once you do
06:48
it i think you're gonna
06:50
kind of feel it what's going on so let's
06:52
start with this one i'm gonna get this
06:54
part
06:56
and i'm basically gonna cut it so i'll
06:58
just remove it now if we check our page
07:00
obviously it will
07:02
it will go wrong because we removed all
07:04
the styles and so on and so on something
07:07
it doesn't work
07:07
but we're gonna fix it very soon what
07:10
i'm gonna do i'm gonna create
07:12
folder called components
07:15
and you can call it whatever you want
07:16
you don't you can call it like pages or
07:18
sub pages i'm going to call it component
07:20
inside this component i'm going to
07:22
create a new file i'm going to call it
07:24
head dot enc
07:27
dot inc dot php
07:32
and recently why i'm calling this uh
07:35
this like that is because i'm
07:39
you don't have to do it you could call
07:40
just like head php actually you could
07:42
even call it
07:43
txt but this is wrong you could uh what
07:47
you could do you could call it
07:48
hat php and that would be perfectly fine
07:51
but um if you add this part
07:55
it suggests to you that this file
07:57
doesn't work
07:58
stand alone right so this is just file
08:01
which is part of the bigger
08:03
um bigger project bigger another file
08:07
so it's used um in other file and it
08:09
doesn't
08:10
necessarily works standalone because
08:12
obviously if we try to run this one
08:14
this is not a page it's not going to
08:16
work right so this is just suggesting
08:18
you
08:18
that you should um this file is being
08:21
included
08:22
somewhere else okay so let's uh let's
08:26
um let's paste it let's save this one
08:30
and now what we have to do what we want
08:33
to do
08:33
is that we want to include this file
08:36
here how we can do it there are two ways
08:38
to do that now
08:42
if we gonna run this kind of function in
08:46
cloud
08:46
and provide path
08:50
to our head in php
08:54
let's see what's gonna happen i'm gonna
08:56
refresh the page
08:58
and we have an error oh because we
09:00
didn't close our php so this is
09:02
php opening tag this is php close stack
09:05
and obviously because we are using
09:07
php extension our server knows that it
09:10
has to
09:11
treat it as a php and has to compile it
09:13
so now
09:14
oh i didn't save it and now everything
09:18
works like a charm and if we check um
09:20
our source code obviously we see
09:24
that this part got included over here
09:27
and is what we
09:28
really wanted to do now
09:32
there is another function which is
09:34
called require
09:37
and if you compare it it basically works
09:40
pretty much the same so what's the
09:43
difference
09:44
now the difference is uh i mean as long
09:46
as the file is there and
09:48
everything works like a charm there is
09:50
no difference but let's assume that
09:51
we're going to do
09:52
a typo so i'm going to call the head 2
09:55
and let's see what's going to happen now
09:56
if i if i will use require
10:00
then my php will stop execution so it's
10:03
not going
10:04
farther you know if i'm using include
10:07
then i still see the warning that it
10:10
cannot find the file
10:12
but still the remaining part of the page
10:16
got rendered and this is the difference
10:18
right so
10:19
if you want if this file is crucial for
10:22
you
10:24
you would probably use require right so
10:27
you
10:28
definitely don't want your run your page
10:30
without having this
10:32
css and so on um
10:34
[Music]
10:35
and you know if if you're including some
10:37
crucial part of your page then you
10:39
you should definitely use require
10:41
otherwise you can just
10:42
use include so let's assume that we will
10:45
let me fix this one here
10:49
let's say that you would like to use
10:52
this one
10:53
include this one then obviously you
10:55
could use include
10:57
because yeah if that doesn't work
10:59
obviously it's not good
11:00
but it's not stopping your page from
11:02
working right it's not gonna look
11:04
pretty neat but still your page will be
11:07
working and you don't want to stop
11:08
execution
11:09
you don't want to stop uh execution here
11:12
and you
11:13
don't want to show user an error user
11:16
will see some warning but still
11:18
he will be he she will be available to
11:19
see the remaining part of the page
11:21
so you should use this require in
11:25
this crucial parts of the page okay now
11:27
let's
11:28
let's continue so uh
11:31
um yeah okay now
11:35
let's um move to the bottom and now i'm
11:38
gonna i'm gonna get this part so i'm
11:40
gonna get this remaining text
11:42
and the footer itself because i assume
11:44
that we
11:45
want to have footer on each and every
11:47
sub page so i'm just gonna cut it
11:49
and then again create new file over here
11:52
and i'm gonna call it
11:53
footer dot rnc php
11:59
save it and then again i'm just gonna
12:02
copy paste this one
12:04
and paste it
12:07
called footer and let's get back here
12:11
yeah now our footer still works
12:14
the same so what we can do
12:18
now we can create a new file
12:21
so i'm going to create a new file and
12:23
i'm going to call it let's say
12:25
services php which will describe
12:28
our services now
12:32
i'm going to show you why this back-end
12:35
languages like php or sol are are so
12:38
awesome
12:39
and and so important web development now
12:42
let's have a look at this one
12:43
so we have this service php file over
12:47
here
12:48
uh which is kind of empty we just had
12:50
this hat and footer
12:51
included so now let's try to open this
12:54
in a browser
12:55
let me do it like this services
12:59
php and we have our page
13:02
here right okay it's it's doesn't look
13:06
fancy yet but let's now let's
13:10
continue and let's get our
13:13
nav bar or actually before we do it
13:17
uh we can already check this one because
13:18
look now if i change something in the
13:20
footer
13:22
like made with love or let's say we're
13:25
gonna say with smile
13:28
i'm gonna save just this single file
13:31
and my footer will change
13:35
here at index as well as here
13:39
at services so
13:42
now i hope you can see you can
13:44
understand why this is so
13:45
important to create this kind of
13:48
components which are reusable
13:50
because otherwise we would have to
13:51
change this in couple
13:53
of files okay so what i'm gonna do now
13:57
i'm gonna i'm gonna create a
14:01
file for each section like this so let
14:04
me just do one
14:06
so this is our navigation i'm just gonna
14:08
cut it i'm gonna create new component
14:11
let's call it nav bar
14:14
php paste it and then i'm gonna
14:17
include it here now i can use include
14:20
because
14:21
uh if this doesn't work for some reason
14:25
i still want my browser to show this
14:29
let me do this at add this also to the
14:32
services
14:33
and let's check okay now we have
14:37
this one here and we still have
14:41
this one that one here so it's working
14:45
like we expected okay so
14:48
now i'm gonna quickly create new
14:51
component for each
14:53
section and i will continue with
14:56
creation of
14:58
our sub pages we're gonna add two maybe
15:02
three more
15:02
let's see
15:42
okay so now um i removed almost
15:45
entire content from our index page pl
15:48
file i
15:48
move all of them to the subfile so over
15:51
here
15:53
i decide to have you know one um file
15:56
per each section but it doesn't
15:58
necessarily have to be
16:00
that small you could use like a bigger
16:01
sections but i wanted to do it that way
16:03
so now let's start with index and
16:07
let's see that we want to for now it
16:10
looks like this
16:10
navbar is behind i mean footer is behind
16:14
navbar so that's why we cannot see it
16:16
but as soon as we'll add some content it
16:19
will just pop up so let
16:20
um let close
16:24
not this one let's go to index
16:29
and now let's say we want to add
16:33
something which i called header which is
16:36
this section
16:37
right so we have it here and let's say
16:40
that other than that we would like to
16:41
also add the list
16:43
of companies using our product
16:47
and here it is we might want to add
16:51
some styles and then again
16:56
let's say we want to add
17:02
some margin bottom
17:06
let's say one ram should be sufficient
17:10
or perhaps two rams will do
17:15
and now then again i can i just can't
17:18
stress
17:18
more that since we have
17:24
this hat component here if we want to
17:27
add some new styles file or whatever or
17:30
js file
17:31
we just need to add this in this single
17:34
this single place
17:36
or you know even if you want to add some
17:38
like google analytics tracing code or
17:39
facebook pixel you can just do it in the
17:41
single place and it will get
17:42
applied to all your pages okay so
17:46
our index is ready
17:49
so let's see how it looks like it is
17:53
like that
17:53
so let's create now a few more pages so
17:57
let's say i want to create we have
18:00
services so
18:01
let's add also gallery
18:05
oops
18:10
and let's add
18:14
contact or about and we will add
18:18
contact form in our about page so
18:21
now look how easily
18:24
we can create new page when we have
18:28
everything in um in components
18:32
so what i'm going to do i'm just going
18:33
to copy paste this one from index i want
18:36
to go to services
18:37
i'm going to just paste it and now
18:40
i want to change for example this part
18:43
to
18:44
services
18:47
and this one to i'm gonna get rid of
18:50
this one for a second
18:52
let's check services so these are our
18:55
services
18:56
and for example here i want to add
19:03
something called icons
19:07
and here we have this one probably we
19:09
should add some
19:11
margin as well
19:20
icons right yeah
19:23
or if we don't want this one we can
19:26
quickly decide to change it
19:28
to for example companies
19:32
and then we have our companies here so
19:35
as you can see you can easily and very
19:37
fast do it now let's
19:38
take care of our gallery so we won't
19:42
have this
19:43
gallery and let's say that's sufficient
19:47
so let's check this one
19:51
gallery okay this is our gallery
19:54
let's leave it as it is and finally
19:56
let's take her
19:58
about about page and we want to add
20:02
here what we have what's left
20:06
features section was in there
20:11
um oh and we want to add contact
20:14
obviously
20:14
right so
20:18
let's open this in the new tab
20:23
oh it's not called contact i called it
20:25
about
20:26
right obviously you can call whatever
20:28
you want so this is our contact section
20:31
okay so now let's add some navigation
20:34
over here so we could easily
20:39
navigate between pages
20:44
so let's
20:47
open this nav bar
20:49
[Music]
20:53
okay now let's get rid of this one
20:57
and that one for a second
21:00
and here for the home we want to tiger
21:03
target
21:05
index.php here we want to have
21:08
what we have services i guess right
21:12
yes services
21:16
and then we want to do services
21:20
php for this one we want to have
21:23
gallery php
21:30
and let me duplicate this one
21:37
and this will be about
21:41
now let's see what happens we have this
21:45
one here
21:46
if we go home we go to index we click
21:49
services we go to services
21:51
if we go to gallery then we have gallery
21:55
if we go to about
21:56
we have this contact session and our
21:59
page is
22:00
more or less ready and if we want to add
22:04
anytime something to our section like
22:08
let's say
22:08
companies we just do it like that
22:13
and we have companies added here if we
22:16
prefer we can do it
22:17
above it's just like you know it's very
22:21
very very very flexible
22:23
and easy to change the page like this
22:27
thank you very much for watching and if
22:29
you enjoyed this video don't forget to
22:31
leave a like
22:32
and subscribe to our channel so that you
22:34
don't miss
22:35
more videos like that and i highly
22:38
recommend you to check
22:39
our channel videos as you're gonna find
22:41
there more videos
22:43
in other technologies like node.js like
22:46
angular react view and so on and so on
22:48
so
22:50
thanks again and see you in the next
22:52
video