Pravljenje foruma pomoću PHP-a i MySQL-a. Kratko uputstvo.

Pravljenje foruma pomoću PHP-a i MySQL-a. Kratko uputstvo.

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Uputstvo za pravljenje jednostavnog foruma

Pre početka želim da naglasim:
Nećemo se osvrtati na dizajn i dojam korisnika već isključivo na osnovnu funkcionalnost. U 99,9% slučajeva ljudima će biti dovoljno da skinu PhpBB ili SMF (ili neki treći) forum i instaliraju ga na svoj server. Za one koji su početnici i znatiželjni da znaju osnove, ovo bi trebalo da bude solidan uvod u to. Takođe, pretpostaviću da već imate neko programersko znanje. Ukoliko nemate, verovatno ćete moći da ispratite uputstvo ali se ne ustručavajte da malo izguglate funkcije koje vam nisu jasne, a nisu objašnjene.

Šta nam je potrebno za pravljenje foruma?:
Znanje i server na kome ćemo ga pokretati.
Kako je verovatno većina korisnika koji gledaju ovo uputstvo nova u ovome, pretpostaviću da nemaju zakupljen svoj server. ALI BEZ BRIGE!. Moguće je pretvoriti vaš računar u server.

Windows korisnici: http://www.wampserver.com/en/
Linux korisnici: http://www.apachefriends.org/en/xampp.html

Instalirajte jedan od ova dva programa prema operativnom sistemu koji koristite.

Otvorite WWW folder. WAMP korisnici ga mogu otvoriti jednostavno tako što će kliknuti na ikonicu WAMP-a u system tray-u i izabrati "www" fasciklu.

Ta WWW fascikla je fascikla u koji ćemo smeštati naše PHP fajlove. Napravite unutar njega novu fasciklu pod imenom "miniforum".

P.S. Ukoliko ste došli do pravljenja foruma, verovatno ste odlučili već koji ćete program koristiti za programiranje u PHP-u, ali za one koji nisu:
Linux: gEdit/Geany su moje preporuke
Windows: Wordpad će raditi posao (mada nije u rangu sa linuxovim programima), tako da ukoliko imate mogućnost rada sa Dreamweaverom, koristite njega.

Iiiiiiiii krećemo:
Za svrhe ovog uputstva koristićemo samo četiri PHP stranice.

Prva stranica će prikazivati sve poruke iz baze podataka.
Druga stranica će služiti za ispisivanje novih poruka od strane članova.
Treća strana će napisane poruke ubacivati u bazu podataka.
Četvrta strana će služiti za povezivanje sa samom bazom podataka.

Napravite u WWW folderu 4 fajla pod imenima: index.php, poruka.php, slanjeporuke.php, vezasabazom.php

U web browseru otvorite adresu: 127.0.0.1/phpmyadmin
Ulogujte se sa korisničkim imenom "root" i bez šifre. Šifru bi ste trebali da stavite ali se u ovom uputstvu nećemo baviti bezbednošću.
Napravite novu bazu podataka pod nazivom "miniforum". U njoj napravite novu tabelu pod nazivom "poruke" i neka ima 3 kolone.

Prvu kolonu nazovite "id", drugu nazovite "posiljalac", treću "sadrzaj". Kao vrstu kolone "id" izaberite "INT", dok za "posiljalac" i "sadrzaj" izaberite "TEXT".

Za osobinu "Index" kolone "id" izaberite "PRIMARY", ostale dve ostavite prazo. Takođe, za kolonu "id" štiklirajte "AUTO_INCREMENT" osobinu.
AUTO_INCREMENT će omogućiti da se ID poruke automatski sam povećava za 1 svaku novu poruku, i tako neće doći do slučaja da dve poruke imaju isti ID.

Otvorite fajl vezasabazom.php:

U njega ćemo ubaciti sledeći kod.
<?php mysql_connect("localhost","root"); mysql_select_db("miniforum"); ?>
Svrha ovoga je prilično očigledna: poveži se sa bazom.

Hajde sada opet otvorite bazu podataka i našu tabelu i napravite dve poruke klikom na opciju "insert". ID polje ostavite prazno, u POSILJALAC i SADRZAJ ubacite neki tekst.

Sada otvorimo fajl index.php:

Ovaj fajl nam predstavlja glavni fajl, tj on će iščitavati sve poruke iz baze. Kod je sledeći.
<?php include_once("vezasabazom.php"); $upit = "SELECT * FROM poruke"; $rezultat = mysql_query($upit); while($red = mysql_fetch_array($rezultat,MYSQL_ASSOC)) {    echo '<br><br><br><b>Posiljalac: '.$red['posiljalac'].'</b><br>Poruka: '.$red['sadrzaj']; } ?> <br><br><input type="button" value="Nova poruka" onclick="window.location.href='poruka.php'">

Sada idemo na stranicu "poruka.php":

<form method="post" action="slanjeporuke.php"> <input type="text" name="posiljalac"><br> <textarea name="poruka"></textarea><br> <input type="submit" value="posalji"> </form>

Krajnje jednostavna forma.

I na samom kraju, stranica "slanjeporuke.php":

Jedina svrha ove stranice je da posalje poruku koja je ukucana na stranici "poruka.php" u bazu podataka.

<?php include_once("vezasabazom.php"); $upit = "INSERT INTO poruke (posiljalac,sadrzaj) VALUES ('".$_REQUEST['posiljalac']."','".$_REQUEST['poruka']."')"; mysql_query($upit); header("Location: index.php"); ?>

To je to! Ovo bi trebalo da vam da ideju kako da nastavite sa pravljenjem pravog velikog foruma. Nadam se da će nekome biti korisno.

Ziveli



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 01 Jan 2010
  • Poruke: 75
  • Gde živiš: Beograd

odlicno ! hvala za ovo



offline
  • Jovan Ducic
  • PHP programiranje
  • Pridružio: 07 Avg 2011
  • Poruke: 12
  • Gde živiš: Bosnia and Herzegovina

ovo je vise kao guestbook

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Hmm mnogo ti prljav ovaj kod nesto...
Po mom nekom misljenju, kada bi pokusali u jednoj temi napisati tutorial kako se pravi forum onda bi to bilo jedno jako, jako veliko uputstvo...
Mislim svaka cast tebi na utrosenom vremenu, ali ovo je jako malo..
Pogledaj svaki forum pa i MC koliko ima opcija i odredjenih akcija.
To sve da se napise u jednom postu je jako puno...
Nemoj da zameris ali to je surova istina...

Pozdrav...

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Naravno da jeste, ne može se naučiti pravljenje ičeg iole ozbiljnog u PHP-u za 20 minuta Smile . Ali vidim da niče gomila tema u kojima ljudi pitaju "kako da napravim forum". Ako postavljaju ovakvo pitanje, verujem da ni ovo ne umeju da urade, tako da bi ovo trebalo da im pruži sliku neku, i da im da ideju kako rade stvari. Upravo, ovo dođe kao guestbook neki, ali uz malo razmišljanja, lako bi moglo da bude osnova za jednu temu unutar foruma i da se razvija dalje.

Ko je trenutno na forumu
 

Ukupno su 1166 korisnika na forumu :: 40 registrovanih, 6 sakrivenih i 1120 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., airsuba, Andrija357, ArchaBasha, bojank, BORUTUS, Botovac, BSD, bufanje, ccoogg123, Darkhunter, doktor1964, DonRumataEstorski, draggan, dragoljub11987, gorican, HogarStrashni, HrcAk47, Ivica1102, Krusarac, Krvava Devetka, Kubovac, kybonacci, Magistar78, Metanoja, milenko crazy north, Mixelotti, mkukoleca, nemkea71, nenooo, opt1, Outis, panzerwaffe, Parker, Romibrat, Shinobi, sickmouse, vaso1, Velizar, Webb