[ set_X @ 07.04.2005. 20:54 ] @
Danas poslepodne sam odvojio malo vremena i napisao jedan mali forum, za male sajtove :)

primer mozete videti ovde http://www.vr.co.yu/sf

A download ovde: http://www.vr.co.yu/sf.zip

Radi preko mysql, pisan u PHP.
Instalacija:

Otvorite config.php i podesite sve sto treba, onda samo pokrenite install.php i to je to.

Znaci, ovo najprostiji forum, tako da ne ocekujete nista specijalno :)

Molim za komentare.

Pozdrav!
[ dr ZiDoo @ 08.04.2005. 08:06 ] @
kada uradis replay treba da te vrati na temu na kojoj si postovo a ne na index foruma. :)
[ set_X @ 08.04.2005. 14:10 ] @
da, to sam zaboravio :)

Inace kod nije sredjen, danas cu da se potrudim da sredim, i da dodam jos par opcija, i malo ulepsam :)
[ flylord @ 08.04.2005. 14:18 ] @
Ulepsavanje ti nije tolko bitno, kolko da zapocetak ga napravis da radi kako treba i da podrzava skupo osnovnih opcija za foruma. Znaci, prvo se ti fokusiraj na funkcionalnost, pa posle na dizajn
[ set_X @ 08.04.2005. 15:07 ] @
Svaku web aplikaciju koju sam radio, uvek sam prvo radio funkcionalnost :)
Dizajn i nije toliko bitan, ali ipak ne treba da bude nesto totalno bezveze.

Evo sad sam malo prepravio:

-Lepse izgleda new topic i reply.
-Dodat logo.
-Ogranicena velicina username na 10 karaktera i subject na 20 :)

Za jedno desetak minuta cu sve da to zavrsim i popravim pa cu da okacim za download :)
[ BytEfLUSh @ 08.04.2005. 16:55 ] @
Citat:
set_X: -Ogranicena velicina username na 10 karaktera i subject na 20 :)

Uhm... Čemu to? Pogotovo to ograničenje za Subject....
[ set_X @ 08.04.2005. 18:56 ] @
Za subject sam stvarno pogresio...nisam ni primetio koliko je to malo charsa :)
Sad sam stavio na 35.

A verovatno znas cemu sluzi, mislim, neko moze doci i da stavi user "ja_neznam_sta_da_stavim_u_ovo_polje"...ovo je predugacko.
Mogao sam da stavim da ako je takav user prikaze samo ja_neznam_sta... i na taj nacin skrati, ali nije to to.

Ipak je bolje da povecam na 15 strlen().

Neznam, videcu :)
[ BytEfLUSh @ 08.04.2005. 18:59 ] @
OK za username, ali nema smisla stavljati ograničenje za Subject manje od 100 znakova. 20 znakova bi ti bilo dobro donje ograničenje za subject, tj. da ne može da bude kraće od 20... :)
[ set_X @ 08.04.2005. 19:02 ] @
Nema problema, to je najmanji problem.Povecacu user na 15 i subject cu staviti da je min. 15, a max. 35 :)

EDIT: najbolje cu to da stavim u config.php pa nek podesi ko kako hoce :)
[ pajaja @ 12.04.2005. 01:29 ] @
da, ja mislim da nisi izmenio u onom zipu to sa usernamemom... OK, izmenio sam ja...

Znaci sad napravi ( kao sto si najavio ) registraciju, ( admine i modove ), pa ce biti ok...

@set
A ja cu ti posaljem onaj CSS sa ove adrese ali nema velike vajde od toga, jer se vecina svega toga podesava u index-u ...
[ set_X @ 12.04.2005. 09:01 ] @
U verziji koju radim (v1.1) bice mnogo toga, i sad sam napravio da se max i min username/subject podesava u config.php :)
[ flylord @ 12.04.2005. 14:55 ] @
Nemoj samo da nam se hvalis, pitaj be nesto pa da resavamo problemi
[ set_X @ 12.04.2005. 17:58 ] @
A, pa i vi treba pomagate :)

Najvise me interesuje da trazite bugove :)))
[ Br@nkoR @ 12.04.2005. 18:29 ] @
Obrati pažnji na ( Next Page | Previous Page ). Ukoliko ne postoje strane ne treba ni ovo prikazati.
[ set_X @ 12.04.2005. 19:31 ] @
Hvala, popravicu to za v1.1 :)
[ flylord @ 13.04.2005. 16:12 ] @
Code:

$q1 = "CREATE TABLE ".$tpref."posts ( " .
"ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, " . 
"text TEXT, " . 
"author TEXT, " . 
"pid TEXT, " . 
"date_writted TEXT " . 
")";
$q2 = "CREATE TABLE ".$tpref."topics ( " .
"ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, " . 
"views TEXT, " . 
"replies TEXT, " . 
"author TEXT, " .
"subject TEXT, " . 
"updated TEXT, " .
"date_writted TEXT " .
")";


Ne znam da li si ostavio ovakvu bazu, ali ti ovo nije dobro

pid ti je neki ID i to je Integer, zato ga i stavi da bude Integer
updated i date_writted su ti datumi, i tu mozes da stavis datum ili bigint (u ovom slucaju ne unosis datum nego Unix Timestamp sa php funkcijom time())

[ flylord @ 13.04.2005. 16:14 ] @
U index.php


imas
include "config.php";

ovo isto nije dobro, s'obzirom da taj file mora da postoji da bi funkcionisao forum, onda bolje da koristis require umesto include, a drugo, jos bolje da koristis require_once , da se ne bi nekad desilo da dva puta, slucajno, includujes isti file
[ flylord @ 13.04.2005. 16:16 ] @
i procitaj ovo
http://www.elitesecurity.org/tema/101859

posto ti je svaki upit ranjiv na SQL Injection

poz
[ set_X @ 13.04.2005. 18:02 ] @
Hvala mnogo, inace najbitnije mi ovo u vezi sql injection :)
[ pajaja @ 16.04.2005. 12:20 ] @
aha, a mene zeza table border....
imam:

Code:
echo "<table border='1' width='100%'>


a meni treba

Code:
<table width="100%" border="1" cellpadding="2" cellspacing="0" bordercolor="#333333">


posebno mi treba cellspacing, ovo ostalo manje-vise...
ali mi izbacuje error u toj liniji....
negde sam se zezno al to ne vidim
[ flylord @ 16.04.2005. 12:37 ] @
Ispisi ovde te linije koje su problem. Niko ne moze da nagadja u cemu je problem
[ pajaja @ 16.04.2005. 12:46 ] @
pa u indexu,
Code:

        echo "<table border='1' width='100%'>
    <tr><td width='2%'  bgcolor='#44749D' ><img src='sf.gif'></td><td widht='55%' bgcolor='#44749D' height='25'><center><font color=white><b>Tema</b></font></center></td><td width='7%' bgcolor='#44749D'><center><font color=white><b>Odgovora</b></font></center><td width='10%' bgcolor='#44749D'><center><font color=white><b>Autor</b></font></center></td><td width='7%' bgcolor='#44749D'><center><font color=white><b>Pregleda</b></font></center></td><td width='15%' bgcolor='#44749D'><center><font color=white><b>Zadnja poruka</b></font></center></td></td></tr>";
        while ($row = mysql_fetch_array($query1))
        {
            $topic_id = $row['ID'];
            $topic_views = $row['views'];
            $topic_replies = $row['replies'];
            $topic_author = $row['author'];
            $topic_subject = $row['subject'];
            $topic_updated = $row['updated'];
            $topic_date = $row['date_writted'];
            $t_sub2 = htmlspecialchars($topic_subject);
            $t_auth = htmlspecialchars($topic_author);
            echo "<tr><td  bgcolor='#FFFFFF'><img src='folder.gif'></td><td height='25' onmouseover=\"this.style.background='#8BA8CB'\" onmouseout=\"this.style.background='#FFFFFF'\"><a href='index.php?act=viewtopic&id=$topic_id'>$t_sub2</a></td><td><b><center>$topic_replies</b></center></td><td bgcolor='#FFFFFF'><b><center><small>$t_auth</small></b></center></td><td><b><center>$topic_views</b></center></td><td bgcolor='#FFFFFF'><center>$topic_updated</center></td></tr>";    
        }
echo "</table>";


treba mi da ubacim i cellspacing='0'...
ali ako stavim

Code:

        echo "<table border='1' width='100%' cellspacing="0" >
    <tr><td width='2%'  bgcolor='#44749D' ><img src='sf.gif'></td><td widht='55%' bgcolor='#44749D' height='25'><center><font color=white><b>Tema</b></font></center></td><td width='7%' bgcolor='#44749D'><center><font color=white><b>Odgovora</b></font></center><td width='10%' bgcolor='#44749D'><center><font color=white><b>Autor</b></font></center></td><td width='7%' bgcolor='#44749D'><center><font color=white><b>Pregleda</b></font></center></td><td width='15%' bgcolor='#44749D'><center><font color=white><b>Zadnja poruka</b></font></center></td></td></tr>";
        while ($row = mysql_fetch_array($query1))
        {
            $topic_id = $row['ID'];
            $topic_views = $row['views'];
            $topic_replies = $row['replies'];
            $topic_author = $row['author'];
            $topic_subject = $row['subject'];
            $topic_updated = $row['updated'];
            $topic_date = $row['date_writted'];
            $t_sub2 = htmlspecialchars($topic_subject);
            $t_auth = htmlspecialchars($topic_author);
            echo "<tr><td  bgcolor='#FFFFFF'><img src='folder.gif'></td><td height='25' onmouseover=\"this.style.background='#8BA8CB'\" onmouseout=\"this.style.background='#FFFFFF'\"><a href='index.php?act=viewtopic&id=$topic_id'>$t_sub2</a></td><td><b><center>$topic_replies</b></center></td><td bgcolor='#FFFFFF'><b><center><small>$t_auth</small></b></center></td><td><b><center>$topic_views</b></center></td><td bgcolor='#FFFFFF'><center>$topic_updated</center></td></tr>";    
        }
echo "</table>";


izbacuje error u toj liniji u koju sam dodo cellspacing="0"....

ocigledno sam nesto propustio... ( posto ne znam bas puno.. )
[ flylord @ 16.04.2005. 12:58 ] @
gle, problem ti je do navodnika, generalno se videlo to i malopre (ako uzmem da zakljucujem) ali moras da naucis da lepo izlozis svoj problem da bi neko mogao i hteo da ti pomogne.
A sada malo obuke:

imas nesto ovako:

echo "<table border='1' width='100%' cellspacing="0" >";


pogledaj kraj, jednovno poceo si echo sa duplim navodnicima
echo "

i onda si dodao
cellspacing="0
sto znaci da si automatski zatvorio duple navodnike
pre toga ti je u tom stringu koriscen ' a ne "

Jednostavno da bi mogao da koristis " u okviru stringa, gde je ceo string ubacen u duple navodnike, moras da iskejpujes unutrasnje navodnike sa \

tako da bi trebao da napises
cellspacing=\"0\"

ili da napises
cellspacing='0'

Ja licno vise volim prvi slucaj, jer volim da mi u HTML kodu stoje dupli navodnici

i btw, sve ovo bi izbegao da ste koristili neki template sistem: Smarty na primer.
[ pajaja @ 16.04.2005. 13:14 ] @
jbt... ja sam definitivno slep.... boze...
hvala ti.... radi....

jos ne mogu da verujem... :)
[ tonchi @ 19.08.2005. 20:31 ] @
Hocel sad sve te prepravke biti i u onom download file-u ili sami moramo prepravljat