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 872 korisnika na forumu :: 14 registrovanih, 2 sakrivenih i 856 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, _Sale, A.R.Chafee.Jr., Bubimir, dekan.m, DragoslavS, Lazarus, Milos82, Mixelotti, mnn2, mrav pesadinac, paja69, yrraf, zziko