Izrada vlastitog bloga u PHP-u: Vodič za početnike (1. dio – Postavljanje baze podataka)

Razvoj web aplikacija od nule jedan je od najboljih načina za duboko razumijevanje načina na koji internet funkcionira. Ako ste se ikada zapitali kako popularni portali i blogovi dinamički prikazuju sadržaj, kako se podaci spremaju i kako se iz baze podataka prenose na ekran korisnika, na pravom ste mjestu. PHP je, unatoč pojavi mnogih novih tehnologija, i dalje jedan od najzastupljenijih jezika na serverskoj strani, a njegova kombinacija s MySQL bazom podataka čini temelj modernog weba.

U ovom serijalu tutorijala proći ćemo kroz cijeli proces izrade funkcionalnog blog sustava. U prvom dijelu fokusirat ćemo se na temelje – postavljanje razvojnog okruženja i kreiranje baze podataka. Bez čvrstih temelja i pravilno strukturirane baze, nemoguće je izgraditi stabilnu aplikaciju, stoga je važno pažljivo pratiti ove početne korake.

Što vam je sve potrebno za početak rada?

Prije nego što napišemo prvu liniju PHP koda, moramo pripremiti naš „digitalni radni stol“. Budući da se PHP izvršava na poslužitelju (serveru), ne možemo jednostavno otvoriti .php datoteku u pregledniku kao što to radimo s HTML-om. Potrebno nam je lokalno okruženje koje simulira rad pravog web servera.

  • Lokalni server: Najpopularniji izbori za početnike su XAMPP, WAMP ili Laragon. Ovi paketi sadrže sve što vam treba: Apache (web server), MySQL (sustav za baze podataka) i sam PHP interpretator.
  • IDE ili uređivač teksta: Iako možete pisati kod u običnom Notepad-u, toplo preporučujemo korištenje modernih alata kao što su Visual Studio Code, Sublime Text ili PHPStorm. Ovi alati nude isticanje sintakse, što značajno smanjuje broj pogrešaka.
  • Osnovno poznavanje HTML-a i CSS-a: Iako ćemo se fokusirati na logiku u PHP-u, vaš blog mora imati neku strukturu i izgled. Pretpostavlja se da znate osnove označavanja sadržaja i stiliziranja.
  • Volja za učenjem: Programiranje zahtijeva strpljenje. Ako naiđete na pogrešku, nemojte odustati – to je sastavni dio učenja.

Korak 1: Postavljanje i pokretanje lokalnog servera

Nakon što instalirate odabrani paket (npr. XAMPP), prvi korak je pokretanje kontrolne ploče. Tamo trebate aktivirati dva ključna modula: Apache i MySQL. Kada oba modula zasvijetle zeleno, vaš je kompjuter spreman postati lokalni web server.

Da biste provjerili radi li sve kako treba, otvorite svoj web preglednik i u adresnu traku upišite http://localhost. Ako vidite pozdravnu stranicu vašeg servera, spremni ste za sljedeći korak. Sve vaše datoteke koje ćemo kreirati u budućim nastavcima spremat ćete u mapu htdocs (kod XAMPP-a) ili www (kod WAMP-a).

Korak 2: Kreiranje baze podataka u phpMyAdmin sučelju

Baza podataka je srce vašeg bloga. U njoj će se čuvati svi naslovi, tekstovi članaka, datumi objave i informacije o autorima. Za upravljanje bazom koristit ćemo phpMyAdmin, grafičko sučelje koje dolazi uz većinu lokalnih servera.

  1. U pregledniku otvorite adresu http://localhost/phpmyadmin.
  2. S lijeve strane ili u gornjem izborniku kliknite na opciju Baze podataka (Databases).
  3. U polje za naziv baze upišite blog.
  4. Pored naziva baze, iz padajućeg izbornika odaberite kodiranje (Collation) utf8_general_ci ili utf8mb4_unicode_ci. Ovo je iznimno važno kako bi vaša baza ispravno podržavala hrvatska dijakritička slova (č, ć, ž, š, đ).
  5. Kliknite na gumb Napravi (Create).

Sada imate praznu bazu podataka pod nazivom „blog“. Sljedeći zadatak je definirati strukturu u koju ćemo spremati naše članke.

Korak 3: Izrada tablice za članke (posts)

Unutar baze podataka kreiramo tablice. Za početak nam je potrebna jedna tablica koju ćemo nazvati posts. Svaki članak u toj tablici mora imati određena svojstva. Naša će tablica imati četiri osnovna polja:

  • ID: Jedinstveni broj za svaki članak. Koristit ćemo ga za prepoznavanje specifičnog posta u bazi.
  • Naslov: Kratki tekst koji predstavlja naslov članka.
  • Sazetak: Kratki uvodni tekst koji se obično prikazuje na naslovnici.
  • Tekst: Glavni sadržaj članka.

Ručno kreiranje putem sučelja

Nakon što ste kliknuli na bazu „blog“, vidjet ćete opciju za kreiranje tablice. Upišite ime posts i broj polja 4. Zatim definirajte parametre za svako polje:

Naziv poljaTip podatkaDodatne postavke
IDINTPrimary Key, Auto Increment (A_I)
naslovVARCHAR (255)utf8_general_ci
sazetakTEXTutf8_general_ci
tekstTEXTutf8_general_ci

Napomena: Polje Auto Increment (A_I) znači da će baza sama dodjeljivati brojeve (1, 2, 3…) svakom novom članku, pa mi o tome nećemo morati brinuti prilikom programiranja.

Kreiranje pomoću SQL upita

Ako želite biti brži i profesionalniji, možete kliknuti na tab SQL u phpMyAdminu i zalijepiti sljedeći kod:

CREATE TABLE posts ( ID INT(11) NOT NULL AUTO_INCREMENT, naslov VARCHAR(255) NOT NULL, sazetak TEXT, tekst TEXT, PRIMARY KEY (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Korak 4: Unos testnih podataka

Kako bismo u idućem nastavku mogli testirati ispis podataka na stranici, moramo imati barem dva ili tri članka u bazi. U phpMyAdminu kliknite na tablicu posts, a zatim u gornjem izborniku na Unos (Insert).

Popunite polja „naslov“, „sazetak“ i „tekst“ proizvoljnim sadržajem. Polje ID ostavite praznim jer će ga sustav sam generirati. Primjerice:

  • Naslov: Moj prvi PHP projekt
  • Sazetak: Danas sam počeo učiti kako izraditi blog.
  • Tekst: Ovo je uzbudljivo putovanje u svijet backend programiranja…

Kliknite „Kreni“ (Go) i vaši prvi podaci su sigurno pohranjeni!

Često postavljana pitanja (FAQ)

Zašto moram koristiti lokalni server, a ne mogu samo otvoriti datoteku?

PHP je jezik koji se izvršava na strani poslužitelja. Preglednik (Chrome, Firefox) ne razumije PHP kod; on razumije samo HTML. Lokalni server (poput Apachea) interpretira PHP kod, komunicira s bazom podataka i pregledniku šalje gotov HTML rezultat.

Što ako dobijem pogrešku pri spajanju na MySQL?

Najčešći razlog je taj što MySQL modul nije pokrenut u kontrolnoj ploči XAMPP-a ili neki drugi program (poput Skype-a) koristi isti port (obično 3306). Provjerite jesu li svi moduli zeleni.

Mogu li koristiti drugu bazu podataka umjesto MySQL-a?

Možete, ali MySQL je industrijski standard za PHP aplikacije, posebno za početnike. Većina hosting paketa nudi upravo MySQL, pa je najbolje učiti na njemu.

Zaključak i što slijedi

Uspješno ste obavili najvažniji pripremni dio posla. Imate funkcionalno razvojno okruženje, kreiranu bazu podataka i tablicu s prvim testnim člancima. Iako se ovo može činiti kao puno administracije bez pisanja pravog PHP koda, razumijevanje strukture podataka ključno je za svakog programera.

U sljedećem nastavku prelazimo na konkretno programiranje. Naučit ćemo kako povezati PHP s bazom podataka i kako izvući ove članke koje smo danas unijeli te ih prikazati na web stranici. Do tada, pokušajte sami unijeti još nekoliko članaka i poigrati se s postavkama u phpMyAdminu kako biste se osjećali sigurnije u radu s bazama podataka.

Odgovori

Vaša adresa e-pošte neće biti objavljena. Obavezna polja su označena sa * (obavezno)