[ 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 | 37
NapísalOffline : 29.08.2009 0:36 | Oneskoreny skript

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ľ
Oneskoreny skript

Registrovaný: 21.10.08
Príspevky: 226
Témy: 61 | 61
NapísalOffline : 29.08.2009 9:17 | Oneskoreny skript

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 | 37
Napísal autor témyOffline : 29.08.2009 11:21 | Oneskoreny skript

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 | 37
Napísal autor témyOffline : 29.08.2009 11:28 | Oneskoreny skript

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:)


 [ Príspevkov: 4 ] 


Oneskoreny skript



Podobné témy

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

oneskoreny zvuk....

v Audio programy

3

562

14.01.2012 18:40

Nesh

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

skype-oneskoreny

v Ostatné programy

2

278

06.07.2008 19:10

McDog

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

zlyhal oneskorený zápis

v Pevné disky a radiče

0

419

18.07.2008 12:57

trojsky.kon

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

Oneskoreny zvuk - domace kino

v Audio programy

0

144

30.12.2013 15:43

fortes

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

SKYPE - oneskoreny hlasovy kontakt

v Sieťové a internetové programy

23

665

05.07.2007 9:07

Zdravotnik

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

vysoke DPI oneskoreny pohyb

v Externé zariadenia

3

214

03.06.2012 15:42

noji

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

skript

v PHP, ASP

10

884

05.09.2006 20:25

programator

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

Skript

v Ostatné

10

199

09.01.2014 18:38

fikaps

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

1525

08.10.2009 23:08

sillyounguy

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

countdown skript

v JavaScript, VBScript, Ajax

1

627

31.08.2007 17:26

KaktusBR

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

PHP skript

v PHP, ASP

1

129

02.11.2012 14:05

MasterMatoSK

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

1487

30.06.2008 14:06

dadmtb

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

Download skript

v Redakčné systémy

4

573

19.12.2006 23:06

JanoF

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

Nepripustny skript

v PHP, ASP

15

551

09.03.2008 18:23

djsulo

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

zacykleny skript

v PHP, ASP

1

291

29.10.2007 20:07

qacer

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

Vyhladavaci skript

v PHP, ASP

15

840

22.10.2008 22:14

Blackshadow



© 2005 - 2017 PCforum, edited by JanoF