This is the continuation of the last post How does CMS Create Dynamic Pages.
If you run the script given on that post (save it with the name “cms.php”), you’d see a site like below:
As you can see, it’s a simple five page site of which all of the five pages are available (only 3 are shown in the image though).
Isn’t it amazing for just one PHP script to create a five page site!
If you look at the code and try to understand, you see that the script is designed to show the Homepage when no data is passed. It creates different pages from the data in the arrays when the respective page is asked for, by passing p=0 to p=4 to the script.
We can create 10, 20, 100 or even a 1000 page site like this just from one script. In fact most CMS do that.
Do remember however that the array storing the content was just to depict the database and real sites would store content in database.
Did you notice the line $page=$_GET[‘p’];
As you know we have two methods of sending and receiving data “get” and “post”. The question is why we are using “get” method here.
Answer is, its necessary, as “get” method sends data via the URL and we need to put links to those URLs on the page. Read An Example of User Authentication System in PHP II for more information.
Look at these lines:
<a href="cms.php?p=0">Hello world</a> <a href="cms.php?p=1">How does it look</a> <a href="cms.php?p=2">PHP is great</a> <a href="cms.php?p=3">Content Management System</a> <a href="cms.php?p=4">CMS work this way!</a>
All links are sending data (p=0 to p=4) via “get” method. If we use “post” method all URLs would be the same (cms.php) and since normal links like this cannot send any data via “post” method, all the links would point to the same page, which of course we don’t want.
Also, peoples bookmark pages from a site and pages created via “post” method CANNOT be bookmarked.
This should have cleared any doubts you had regarding the use of “get” method in that script.
That’s all we’ve for this post, do check back for updates.