PHP Tutorial: Pravljenje foruma

PHP Tutorial: Pravljenje foruma

offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

Napisano: 27 Jan 2010 15:53

Dosao sam na ovu ideju koja je po meni najbolja za ucenje malo komplikovanijeg programiranja u PHPu. U saradnji sa Rastafarijem i Strog-om Smile i uz vasu saradnji napravićemo jednostavan forum koji cete svi moci da instalirate i da učestvujete u njegovoj izradi (naravno ako želite).

Dakle, sve što napravimo biće objašnjeno i spremni smo da odgovaramo na pitanja. Važno je da znate da nećemo provoditi sada puno vremena na izgledu foruma nego čisto da uradimo PHP. Imaćete neku prostu administraciju na raspolaganju i potpuno funkcionalan forum sa kategorijama, tema, članovima itd..

MySQL tabele

mycfor_kategorije
mycfor_teme
mycfor_poruke
mycfor_korisnici


mycfor_kategorije

[id][parent][ime]

mycfor_teme

[id][idkat][ime][autor][poruka][vrijeme][datum]

mycfor_poruke

[id][idteme][autor][poruka][vrijeme][datum]

mycfor_korisnici

[id][ime][sifra][brojporuka][email][kg][avatar][status]

Objasnjenja

[idkat] - Id kategorije

[kg] - Korisnicka grupa

Uskoro dobijate prvu "lekciju" i prvi komad koda tako da se pripremite Smile Ako je neko zainteresovan da uradi neki dio foruma neka se javi Smile. Sva pitanja slobodno postavite u temi.

Za razumjevanje tutorijala potrebno je neko osnovno znanje HTMLa i CSSa.

Dopuna: 30 Jan 2010 18:11

Evo projekat polako kreće, već nam se javio jedan član koji želi da pomogne i napravio je skriptu za instaliranje (kreiranje) baze foruma. Hvala

install.php

<style type="text/css"> form {    width:300px;    height:110px;    margin-left:auto;    margin-right:auto;    margin-top:100px;    border:1px solid black; } label {    width:100px;    height:20px;    float:left;    margin-left:25px;    margin-top:2px; } </style> <?php    $gotovo = 0;    if (isset($_POST['instaliraj']))    {       $host_host = $_POST['host_host'];       $host_user = $_POST['host_user'];       $host_pass = $_POST['host_pass'];       if($host_host=='' || $host_user=='' || $host_pass=='')       {          echo 'Popunite sva polja!';          exit();       }       else       {          $link = mysql_connect($host_host,$host_user,$host_pass);          if (!$link)          {             die('Povezivanje sa serverom nije uspelo: ' . mysql_error());             exit();          }          if (mysql_query("CREATE DATABASE mycforum ",$link))          {             echo "Baza podataka uspesno kreirana.";          }          else          {             echo "Greska: " . mysql_error();             exit();          }          mysql_close($link);                    $link = mysql_connect($host_host,$host_user,$host_pass);          if(!$link)          {             die('Povezivanje sa serverom nije uspelo: ' . mysql_error());             exit();          }          $db = mysql_select_db("mycforum");          if(!$db)          {             die("Nije moguće odabrati bazu podataka.");             exit();          }          else          {             $sql01 = 'CREATE TABLE  `mycforum`.`mycfor_kategorije` (                   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,                   `parent` INT( 10 ) NOT NULL ,                   `ime` VARCHAR( 50 ) NOT NULL                   ) ENGINE = MYISAM ;';             $result01 = mysql_query($sql01) or die(mysql_error());                          $sql02 = 'CREATE TABLE  `mycforum`.`mycfor_teme` (                   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,                   `idkat` INT( 10 ) NOT NULL ,                   `ime` VARCHAR( 50 ) NOT NULL ,                   `autor` VARCHAR( 30 ) NOT NULL,                   `poruka` TEXT NOT NULL,                   `vreme` TEXT NOT NULL ,                   `datum` TEXT NOT NULL                   ) ENGINE = MYISAM ;';             $result02 = mysql_query($sql02) or die(mysql_error());                       $sql03 = 'CREATE TABLE  `mycforum`.`mycfor_poruke` (                   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,                   `idtema` INT( 10 ) NOT NULL ,                   `autor` VARCHAR( 30 ) NOT NULL ,                   `poruka` TEXT NOT NULL ,                   `vreme` TEXT NOT NULL ,                   `datum` TEXT NOT NULL                   ) ENGINE = MYISAM ;';             $result03 = mysql_query($sql03) or die(mysql_error());                    $sql04 = 'CREATE TABLE  `mycforum`.`mycfor_korisnici` (                   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,                   `ime` VARCHAR( 30 ) NOT NULL ,                   `lozinka` VARCHAR( 30 ) NOT NULL ,                   `broj_poruka` INT( 6 ) NOT NULL ,                   `email` VARCHAR( 50 ) NOT NULL ,                   `kg` INT( 2 ) NOT NULL ,                   `avatar` TEXT NOT NULL ,                   `status` INT( 1 ) NOT NULL                   ) ENGINE = MYISAM ;';             $result04 = mysql_query($sql04) or die(mysql_error());                    $sql05 = 'CREATE TABLE  `mycforum`.`mycfor_kg` (                   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,                   `naziv` VARCHAR( 30 ) NOT NULL                   ) ENGINE = MYISAM ;';             $result05 = mysql_query($sql05) or die(mysql_error());          }          $gotovo = 1;          mysql_close($link);                         unlink("install.php");       }    }    if($gotovo<>1)    {       echo '<form name="instalacija" method="POST">';          echo '<label>Host</label><input name="host_host" id="host_host" type="text" size="20"/>';          echo '<label>Korisnicko ime</label><input name="host_user" id="host_user" type="text" size="20"/>';          echo '<label>Lozinka</label><input name="host_pass" id="host_pass" type="password" type="text" size="20"/>';          echo '<div style="width:275px; text-align:right;"><input type="submit" name="instaliraj" value="Instaliraj"/></div>';       echo '</form>';    } ?>

Hvala korisniku MSMarkoN Smile

Uskoro prikaz foruma Smile



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 08 Jan 2010
  • Poruke: 101

kul, kul.
ne bi bilo lose dodati unlink("./install.php"); po uspesnom kreiranju baze kako korisnik ne bi morao sam da se bakce brisajnem fajlova sa servera, a i ubrzace postupak.



offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

Dodao Smile

offline
  • orbit 
  • Novi MyCity građanin
  • Pridružio: 18 Dec 2009
  • Poruke: 2

Kad ce nastavak? Smile

offline
  • zend  Male
  • Počasni građanin
  • Pridružio: 22 Okt 2009
  • Poruke: 900
  • Gde živiš: Pancevo

Sta ce ti nastavak. Nastavi sam najtezi je pocetak a pocetak imas ovde...
Nema ni jedna funkcija nema ni jedna petlja.
Odradi malo sa klasama sledece delove

offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

orbit ::Kad ce nastavak? Smile

Ima nastavak ali nisam imao ni zelje ni vremena da ga pogledam jer je malo ljudi zainteresovano.

offline
  • Pridružio: 20 Jan 2010
  • Poruke: 142
  • Gde živiš: Beograd

Napisano: 26 Maj 2010 22:14

Ma ima interesovanja nemoj da si u tripu. Very Happy

Dopuna: 28 Maj 2010 19:16

Oce li taj nastavak?Pre nego sto odgovoris tema imas 471 pregleda.Pa ti reci da nema interesovanja.

Ko je trenutno na forumu
 

Ukupno su 1087 korisnika na forumu :: 38 registrovanih, 8 sakrivenih i 1041 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: 357magnum, A.R.Chafee.Jr., Alibaba1981, avijacija, Bobrock1, BratSrpska, Bubimir, ccoogg123, cemix, Denaya, DENIRO, DPera, Fog of War, HrcAk47, Joja, Još malo pa deda, kokodakalo, Komentator, kunktator, kybonacci, mercedesamg, milenko crazy north, Mille Qravela, mnn2, mrav pesadinac, nikoladim, predragc, radionica1, shaja1, Stanlio, theNedjeljko, tomigun, vathra, virked, Vlad000, vlad4, vladaa012, zastavnik