Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37
Príspevok NapísalOffline : 29.08.2009 0:36

Cafte ludia. Par dni sa rapim nad jednou vecou. Prisposobil som si totiz jedno forum pre moju stranku. Tu je jeho kod:
Kód:
<div class="base_txt">
<?php


// argument pre funkciu zobraz_temy()
$zacni = 5;
// funkcia, ktorá bude vytvára» menu pre fórum
function menu(){
//echo " <div class=\"css_menu\">";
echo " <div class=\"bunka\">\n";
echo " <a href=\"index.php?action=forum&tema\" title=\"Vytvorenie novej témy\">Vytvorenie novej témy</a>\n";
echo " </div>\n";
//echo " </div>\n";
}

// funkcia, ktorá opraví zápis do databázy
function oprav($data){
global $con;
if(ini_get('magic_quotes_gpc')){
$data = stripslashes($data);
}
return mysql_real_escape_string($data, $con);
}

// funkcia pre vytvorenie témy
function vytvor_temu(){
$error = NULL;
if(isset($_POST[odoslat])){
if(empty($_POST[tema])){
$tema = FALSE;
$error .= "Nezadali ste meno témy!<br />\n";
} else {
$tema = oprav(htmlspecialchars($_POST[tema]));
}

if(empty($_POST[autor])){
$autor = FALSE;
$error .= "Nezadali ste autora témy!<br />\n";
} else {
$autor = oprav(htmlspecialchars($_POST[autor]));
}

if(empty($_POST[email])){
$email = "@";
} else {
$email = oprav(htmlspecialchars($_POST[email]));
}

if(empty($_POST[obsah])){
$obsah = FALSE;
$error .= "Nezadali ste obsah témy!<br />\n";
} else {
$obsah = oprav(nl2br(htmlspecialchars($_POST[obsah])));
}

if($tema && $autor && $email && $obsah){
$ip = $_SERVER[REMOTE_ADDR];
mysql_query("INSERT INTO temy(nadpis,obsah,autor,email,datum,uprava,ip) VALUES('$tema','$obsah','$autor','$email',NOW(),NOW(),'$ip')");
} else {
echo $error;
}
}
echo "<h2><a href=\"index.php?action=forum\" title=\"Vráti» sa na obsah fóra\">Fórum</a> -> Vytvorenie novej témy</h2>\n";
menu(); // volanie funkcie pre menu
echo "<form action=\"index.php?action=forum&tema\" method=\"post\">\n";
echo "<fieldset><legend>Vytvorenie novej témy</legend>\n";
echo "Názov témy<br /><input class='form' name=\"tema\" type=\"text\" /><br />\n";
echo "Autor<br /><input class='form' name=\"autor\" type=\"text\" /><br />\n";
echo "Email<br /><input class='form' name=\"email\" type=\"text\" value=\"@\" /><br />\n";
echo "Obsah témy:<br /><textarea class='form' name=\"obsah\" rows=\"7\" cols=\"60\"></textarea><br /><br />\n";
echo "<input class='form2' name=\"odoslat\" type=\"submit\" value=\"Odoslať\" />\n";
echo "<input class='form2' type=\"reset\" value=\"Reset\" />\n";
echo "</fieldset>\n";
echo "</form>\n";
}

// funkcia na výpis tém
function zobraz_temy($zacni){
echo "<h2>Fórum</h2>\n";
menu(); // volanie funkcie pre menu
$strana   = urlencode($_GET['strana']);
$zobrazit = urlencode($_GET['zobrazit']);

$pocet = mysql_num_rows(mysql_query("SELECT id_temy FROM temy"));
$pocet = ceil($pocet/$zacni);
if($pocet == NULL){
    echo "V databáze sa momentálne nenachádzajú ľiadne články!<br />\n";

    exit();
}

if(isset($_GET['zobrazit'])){
    if($_GET['zobrazit'] == $zobrazit){
    $zobrazit = ceil($zobrazit);
        if($_GET['strana']){
            if($_GET['strana'] == $strana--){
                $strana = ceil($strana*$zacni);
                   $sql = mysql_query("SELECT id_temy, nadpis, datum FROM temy ORDER BY uprava DESC LIMIT $strana, $zobrazit");
                   while($stlpec = mysql_fetch_object($sql)){
                      $id_temy = $stlpec->id_temy;
                      $nadpis = $stlpec->nadpis;
                      $datum = $stlpec->datum;
                      echo "<div class=\"tema\">\n";
                      echo "<strong><a href=\"index.php?action=forum&id=$id_temy\" title=\"$nadpis\">$nadpis</a></strong><br />\n";
                      echo "<small>[ Dátum:$datum ]</small>\n";
                      echo "</div>\n";
                  }
              }
         }
    }
} else {
      $sql = mysql_query("SELECT id_temy,nadpis,datum FROM temy ORDER BY uprava DESC LIMIT 0, $zacni");
      while($stlpec = mysql_fetch_object($sql)){
            $id_temy = $stlpec->id_temy;
            $nadpis  = $stlpec->nadpis;
            $datum   = $stlpec->datum;
            echo "<div class=\"bunka\">\n";
            echo "<strong><a href=\"index.php?action=forum&id=$id_temy\" title=\"\">$nadpis</a></strong><br />\n";
            echo "<small>[ Dátum:$datum ]</small>\n";
            echo "</div>\n";
      }
   }
   while($cislo != $pocet){
        $cislo++;
        echo "<a href=\"index.php?action=forum&strana=$cislo&amp;zobrazit=$zacni\" title=\"$cislo\">$cislo</a> \n";
   }
}

// funkcia pre zobrazenie témy
function zobraz_temu($id){
$sql = mysql_query("SELECT * FROM temy WHERE id_temy='$id' LIMIT 1");
while($stlpec = mysql_fetch_object($sql)){
$id_temy = $stlpec->id_temy;
$nadpis  = $stlpec->nadpis;
$obsah   = $stlpec->obsah;
$autor   = $stlpec->autor;
$email   = $stlpec->email;
    $email = Str_Replace("@"," (at) ",$email);
$datum   = $stlpec->datum;
$ip      = $stlpec->ip;
echo "<h2><a href=\"index.php?action=forum\" title=\"Vráti» sa na obsah fóra\">Fórum</a> -> $nadpis</h2>\n";
menu(); // volanie funkcie pre menu
echo "<div class=\"tema\">\n";
echo "<strong><a href=\"index.php?action=forum&id=$id_temy\" title=\"\">$nadpis</a></strong><br />\n";
echo "<small>[ Dátum:$datum | Autor:$autor | Email:$email | IP:$ip ]</small><br />\n";
echo "<div class=\"tema_obsah\">$obsah\n";
echo "</div></div>\n";
}
mysql_free_result($sql);

$sql = mysql_query("SELECT obsah,autor,email,datum,ip FROM prispevky WHERE k_teme='$id'");
while($zaznam = mysql_fetch_object($sql)){
$obsah = $zaznam->obsah;
$autor = $zaznam->autor;
$email = $zaznam->email;
    $email = Str_Replace("@"," (at) ",$email);
$datum = $zaznam->datum;
$ip    = $zaznam->ip;
echo "<div class=\"tema\">\n";
echo "<small>[ Dátum:$datum | Autor:$autor | Email:$email | IP:$ip ]</small><br />\n";
echo "<div class=\"tema_obsah\">$obsah\n";
echo "</div></div>\n";
}
mysql_free_result($sql);

if(isset($_POST[odoslat])){
if(empty($_POST[meno])){
$meno = FALSE;
} else {
$meno = oprav(htmlspecialchars($_POST[meno]));
}
if(empty($_POST[email])){
$email = FALSE;
} else {
$email = oprav(htmlspecialchars($_POST[email]));
}
if(empty($_POST[obsah])){
$obsah = FALSE;
} else {
$obsah = oprav(nl2br(htmlspecialchars($_POST[obsah])));
}
if($meno && $email && $obsah){
$ip = $_SERVER[REMOTE_ADDR];
// vloľenie príspevku do k danej téme
mysql_query("INSERT INTO prispevky(obsah,autor,email,datum,k_teme,ip) VALUES('$obsah','$meno','$email',NOW(),'$id','$ip')");
// úprava dátumu v téme kam sa odosiela príspevok na aktuálny
mysql_query("UPDATE temy SET uprava=NOW() WHERE id_temy='$id'");
} else {
die("Vsetky polia musia byt vyplnene!<a href=\"javascript:history.back()\">Navrat k teme</a><br />\n");
}
}
echo "<form action=\"index.php?action=forum&id=$id\" method=\"post\">\n";
echo "<fieldset>\n";
echo "Meno:<br /><input class='form' name=\"meno\" type=\"text\" /><br />\n";
echo "Email:<br /><input class='form' name=\"email\" type=\"text\" value=\"@\" /><br />\n";
echo "Obsah príspevku:<br /><textarea class='form' name=\"obsah\" rows=\"7\" cols=\"60\"></textarea><br /><br />\n";
echo "<input class='form2' name=\"odoslat\" type=\"submit\" value=\"Odoslať príspevok\" />\n";
echo "</fieldset></form>\n";
}





if(isset($_GET['id'])){
zobraz_temu($_GET['id']);
} elseif(isset($_GET['tema']))
{
vytvor_temu();
} else
{
zobraz_temy($zacni);
}


mysql_close();
?>
</div>


Seecko funguje jak ma. Na testovacom serveri to slape rychlo a pekne. Bohuzial, ked som to dal na ostry hosting, sript mrzne. Funguje, ale az tak s dvojminutovym oneskorenim.

Zdvoraznujem ze je to ten isty kod na oboch.

Netusite v com by mohol byt pes zakopany? To forum fakt potrebujem...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.10.08
Príspevky: 230
Témy: 62
Bydlisko: Bratislava
Príspevok NapísalOffline : 29.08.2009 9:17

zalezi aky je rychly ten hosting.. ked si to dal na nejaky free (ako ic.cz), tak tie su zvycajne pomale..


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37
Príspevok Napísal autor témyOffline : 29.08.2009 11:21

Trafic mam 5 GB, ostatne tiez vyuzivam len na niekolko percent... Je to plateny a dobry hosting(inet). Takze tam by som problem nevidel.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37
Príspevok Napísal autor témyOffline : 29.08.2009 11:28

No , problem vyrieseny:) A ako vzdy v tom bola nejaka uplne ina hovadina ako by som cakal...
Ako si vsimnete, na zaver skriptu mam mysql_close();. Avsak, dalej na stranke este pripojenie vyuzivam, a kedze som ho uzavral, tak pokus o vypisanie vysledkov query trval velmi dlho a z toho bolo to omeskanie.
No, musim sa vela ucit mamicka, veeela ucit:)


Odpovedať na tému [ Príspevkov: 4 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. skype-oneskoreny

v Ostatné programy

2

436

06.07.2008 19:10

McDog Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. oneskoreny zvuk....

v Audio programy

3

752

14.01.2012 18:40

Nesh Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zlyhal oneskorený zápis

v Pevné disky a radiče

0

576

18.07.2008 12:57

trojsky.kon Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vysoke DPI oneskoreny pohyb

v Externé zariadenia

3

424

03.06.2012 15:42

noji Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Oneskoreny zvuk - domace kino

v Audio programy

0

495

30.12.2013 15:43

fortes Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. SKYPE - oneskoreny hlasovy kontakt

v Sieťové a internetové programy

23

1327

05.07.2007 9:07

Zdravotnik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Skript

v Ostatné

10

508

09.01.2014 18:38

fikaps Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. skript

[ Choď na stránku:Choď na stránku: 1, 2 ]

v HTML, XHTML, XML, CSS

35

1947

08.10.2009 23:08

sillyounguy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. skript

v PHP, ASP

10

1169

05.09.2006 20:25

programator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zacykleny skript

v PHP, ASP

1

482

29.10.2007 20:07

qacer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vyhladavaci skript

v PHP, ASP

15

1158

22.10.2008 22:14

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. WYSIWYG skript

v JavaScript, VBScript, Ajax

3

986

15.10.2007 19:06

qacer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. countdown skript

v JavaScript, VBScript, Ajax

1

931

31.08.2007 17:26

KaktusBR Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP skript

v PHP, ASP

1

307

02.11.2012 14:05

MasterMatoSK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kalendar skript

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

30

2052

30.06.2008 14:06

dadmtb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Download skript

v Redakčné systémy

4

904

19.12.2006 23:06

JanoF Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra