⊗ppPmSDDb 442 of 447 menu

Sistem za upravljanje sadržajem baziran na bazi podataka u PHP-u

Hajde sada da napravimo sistem za upravljanje sadržajem sajta, u kome će sadržaj stranica biti čuvan ne u fajlovima, već u bazi podataka. Neka u našoj bazi podataka postoji ovakva tabela:

pages
id title content
1 title1 <div> content1 </div>
2 title2 <div> content2 </div>
3 title3 <div> content3 </div>

Neka želimo da dobijamo naše stranice preko URL-ova oblika /page/1, gde će broj predstavljati id te stranice koju želimo da dobijemo.

Počnimo sa realizacijom. Za početak u posebnom fajlu napravimo konekciju ka bazi podataka i povežimo taj fajl sa našim:

<?php $link = require 'connect.php'; ?>

Dobijamo traženi URL:

<?php $url = $_SERVER['REQUEST_URI']; ?>

Pomoću regularnog izraza podelimo URL na delove:

<?php preg_match('#/page/(\d+)#', $url, $match); ?>

Upisujemo id iz "capture group-a" u promenljivu:

<?php $id = $match[1]; ?>

Izvršimo upit ka bazi podataka, preko id dobijamo traženu stranicu:

<?php $query = "SELECT * FROM pages WHERE id=$id"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); $page = mysqli_fetch_assoc($res); ?>

Dobijamo fajl šablona:

<?php $layout = file_get_contents('layout.php'); ?>

U fajlu šablona izvršimo umetanje naslova i sadržaja:

<?php $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); ?>

Pošaljemo sastavljenu stranicu sajta u browser:

<?php echo $layout; ?>

Sastavimo sve zajedno i dobijamo sledeći kod:

<?php require 'connect.php'; $url = $_SERVER['REQUEST_URI']; preg_match('#/page/(\d+)#', $url, $match); $id = $match[1]; $query = "SELECT * FROM pages WHERE id=$id"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); $page = mysqli_fetch_assoc($res); $layout = file_get_contents('layout.php'); $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); echo $layout; ?>

Realizujte opisan sistem za upravljanje sadržajem. Proverite njegov rad.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij