« 1 2 »
Autor Zpráva
Anonymní
Profil *
cel by som vediet ci by sa v knihe navstev dalo spravit strankovanie bez toho aby som NEMUSEL POUZIT DATABAZU...ak sa to da mohli by ste mi poradit ako alebo ma odkazat na nejaku stranku kde by som to nasiel?
WertriK
Profil *
paklize mas data v souboru tak

$prispevek = File("soubor");

if (!IsSet($idprispevek)) { $idprispevek=1; }
$pocatek = $idprispevek*15-15; // zobrazujem po 15
$konec = $idprispevek*15-1;

for ($i=$pocatek;$i<=$konec;$i++) {

echo $prispevek[$i];

}

// vypis 1,2,3,..

$strana = Ceil(Count($prispevek)/15);

for ($x=1;$x<=$strana;$x++) {
echo "<A href=\"?idprispevek=$x\">$x</A> |";
}
Anonymní
Profil *
ok..ja sa nejak v php nevyznam

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>
<div class=text>
<center>
<form method=POST>
<b>NICK:</b>
<input class=input name=meno>
<br>
<br>
<textarea name=sprava class=textarea cols=40 rows=4></textarea>
<br>
<input class=input type=Submit name=odoslane value="odosli">
.
<input class=input type=Reset value="RESET" name="Reset">
</form>
<hr>
</center>
<?
if ($odoslane==odosli):
$subor = "board4.body";
@$fp = FOpen($subor, "r");
@$obsah = FRead($fp, FileSize($subor));
@FClose($fp);if (($sprava=="") or ($meno=="")):
echo "<font color='red'><H2> <div class=text>CHYBA! NEZADAL SI POTREBNE UDAJE! <BR>
musi byt vypleni nick aj text spravy ! Vyskusaj este raz</H2></font>";
else: $fp = FOpen("board4.body", "w");
FPuts($fp,"<table width='100%' border='1' class=novb>");
FPutS($fp,"<tr><td class=nnb><B>".(HTMLSpecialCHars($meno))."</B></td><td align='right' class=nnb>".Date(" d.m.Y o H:i").":<BR>\n</td></tr>");
FPuts($fp,"<tr><td colspan='2'>".(HTMLSpecialCHars($sprava))."</td></tr>");
FPuts($fp,"</table><br>");
FPuts ($fp, "$obsah");FClose($fp);
@$fp = FOpen("board4.body", "r");@FPassThru($fp);
endif;
else:
@$fp = FOpen("board4.body", "r");@FPassThru($fp);
endif;
?>
</div></p>
</body>
</html>

ako by si to dalo zakomponovat do tohto?.... do board4.body sa mi ukladaju vsetky tie odkazy..dakujem...
WertriK
Profil *
prubni to a napis jak to slape..

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>
<div class=text>
<center>
<form method=POST>
<b>NICK:</b>
<input class=input name=meno>
<br>
<br>
<textarea name=sprava class=textarea cols=40 rows=4></textarea>
<br>
<input class=input type=Submit name=odoslane value="odosli">
.
<input class=input type=Reset value="RESET" name="Reset">
</form>
<hr>
</center>
<?
if ($odoslane==odosli):
$subor = "board4.body";
@$fp = FOpen($subor, "r");
@$obsah = FRead($fp, FileSize($subor));
@FClose($fp);if (($sprava=="") or ($meno=="")):
echo "<font color='red'><H2> <div class=text>CHYBA! NEZADAL SI POTREBNE UDAJE! <BR>
musi byt vypleni nick aj text spravy ! Vyskusaj este raz</H2></font>";
else: $fp = FOpen("board4.body", "w");
FPuts($fp,"<table width='100%' border='1' class=novb>");
FPutS($fp,"<tr><td class=nnb><B>".(HTMLSpecialCHars($meno))."</B></td><td align='right' class=nnb>".Date(" d.m.Y o H:i").":<BR>\n</td></tr>");
FPuts($fp,"<tr><td colspan='2'>".(HTMLSpecialCHars($sprava))."</td></tr>");
FPuts($fp,"</table><br>");
FPuts ($fp, "$obsah");FClose($fp);
@$fp = FOpen("board4.body", "r");@FPassThru($fp);
endif;
else:
$prispevek = File("board4.body");

if (!IsSet($idprispevek)) { $idprispevek=1; }
$pocatek = $idprispevek*15-15; // zobrazujem po 15
$konec = $idprispevek*15-1;

for ($i=$pocatek;$i<=$konec;$i++) {

echo $prispevek[$i];

}

// vypis 1,2,3,..

$strana = Ceil(Count($prispevek)/15);

for ($x=1;$x<=$strana;$x++) {
echo "<A href=\"?idprispevek=$x\">$x</A> |";
}
endif;
?>
</div></p>
</body>
</html>
Anonymní
Profil *
mno...uz to fichci takmer skvele ale je tam este jedna chybicka.... TU sa pozri...uplne dole na strane...len ta vec....ja som to pred tym robil tak isto ale stale mi to robilo nejake totalne blbosti ale teraz som si vsimol ze som tam zabudol napisat jed ELSE...takze skus sa prosimta ese pozriet na tamto..dakujem..
WertriK
Profil *
Chyba bude v tom ze to PHP bere prispevek jako jeden radek souboru, radim ti tento zapis prispevku :

$write = "<table width=\"100%\" border=\"1\" class=\"novb\"><tr><td class=\"nnb\"><b>".(HTMLSpecialCHars($meno))."</b></td><td align=\"right\" class=\"nnb\">".Date(" d.m.Y o H:i")."</td></tr><tr><td colspan=\"2\">".(HTMLSpecialCHars($sprava))."</td></tr></table><br>\n" ;

Proste to musi byt na jednom radku a na konci misi byt \n jako pro konec radku.
cele to bude vypadat takto :

<?
if ($odoslane==odosli):
$subor = "board4.body";
@$fp = FOpen($subor, "r");
@$obsah = FRead($fp, FileSize($subor));
@FClose($fp);
if (($sprava=="") or ($meno=="")):
echo "<font color='red'><H2> <div class=text>CHYBA! NEZADAL SI POTREBNE UDAJE! <BR>
musi byt vypleni nick aj text spravy ! Vyskusaj este raz</H2></font>";
else:

$write = "<table width=\"100%\" border=\"1\" class=\"novb\"><tr><td class=\"nnb\"><b>".(HTMLSpecialCHars($meno))."</b></td><td align=\"right\" class=\"nnb\">".Date(" d.m.Y o H:i")."</td></tr><tr><td colspan=\"2\">".(HTMLSpecialCHars($sprava))."</td></tr></table><br>\n" ;

$data = file_get_contents($subor); // mozna ti to server nebude podporovat
// pokud by to nefungovalo tak to smaz a vymaz "//" pred nsledujicim kodem

// $fp = FOpen ("gbook/book.dat", "r");
// $data = FRead ($fp, FileSize("gbook/book.dat"));
// FClose($fp);

$fp = FOpen ($subor, "w");
FWrite ($fp, $write.$data);
FClose ($fp);

endif;
else:
$prispevek = File("board4.body");

if (!IsSet($idprispevek)) { $idprispevek=1; }
$pocatek = $idprispevek*15-15; // zobrazujem po 15
$konec = $idprispevek*15-1;

for ($i=$pocatek;$i<=$konec;$i++) {
echo $prispevek[$i];
}
// vypis 1,2,3,..
$strana = Ceil(Count($prispevek)/15);

for ($x=1;$x<=$strana;$x++) {
echo "<A href=\"?idprispevek=$x\">$x</A> |";
}
endif;
?>
Anonymní
Profil *
hmmmm..nejak v tom nevidim rozdiel
krteczek
Profil
Anonymní: koukni se na tuto knihu náívštěv, je tam i to stránkování:-)
http://www.krteczek.czweb.org/jpw/kniha-navstev/
krteczek
WertriK
Profil *
FPuts($fp,"<table width='100%' border='1' class=novb>");
FPutS($fp,"<tr><td class=nnb><B>".(HTMLSpecialCHars($meno))."</B></td><td align='right' class=nnb>".Date(" d.m.Y o H:i").":<BR>\n</td></tr>");
FPuts($fp,"<tr><td colspan='2'>".(HTMLSpecialCHars($sprava))."</td></tr>");
FPuts($fp,"</table><br>");

to tucny je ta potvora co ti to rozhazuje(a to ma byt az na konci), jak vidis rozdil v tom je....
krteczek
Profil
wertik, do formuláře mužu napsat cokoliv, včetně entru takže to zalomení neovlivní
já sem to řešil tak že jsem jako oddělovač použil Đ a kontroloval jsem jestli není ve zpravě a nahradil jeho výskyt entitou...
krteczek
Anonymní
Profil *
to krteczek: kde je to strankovanie?
to WertriK: uz mi je to vazne blbe ale cem to uz nejako zosmolit...takze ako by to finalne malo vyzerat?...vazne sorry ze tolko otravujem ale co uz...budem sa musiet zacat ucit PHP..xixi..este raz sorry
WertriK
Profil *
na zalomeni je fce nl2br(); ktera nahradi entry <br> takze pri vypisu bude vse ok....

takze Anonymní pridej jeste pred definici $write tento radek :

$sprava = nl2br($sprava);
WertriK
Profil *
staci kdyz udelas to co jsem ti napsal, vymazes obsah souboru board4.body a nahazes tam ty prispevky znovu tak uz by to melo fungovat...
krteczek
Profil
wertik: ale zustene tam to zalomení...
řeší se to regulárem kde nahradíš \r\n právě tím <br> a ještě kontrola dvou <br> za sebou přepsat na jedno...
krteczek
WertriK
Profil *
řeší se to regulárem kde nahradíš \r\n právě tím <br>

to prave dela ta fce nl2br(); a nikde tam \n nezustane a muzes podle toho rozdelovat prispevky...
krteczek
Profil
právě že to zalomení zůstane, vyzkoušej si to a potom mluv... kdybych to neměl vyzkoušené tak bych to netvrdil... :-D
krteczek
Anonymní
Profil *
ach jaj..som z toho nejak zufaly...ked tam mam to $write tak mi to do board4.body normalne spravu odosle ale nezobrazi mi ju v knihe...a dalsie problemy...teraz uz ani neviem ako som to mal pred tym..hmmm..som unaveny..musim sa na to vyspat..ale navrhy prijmem viac ako ochotne
Leo
Profil
Rekl bych, ze kniha navstev v databazi by byla mnohem jednodussi, bezpecnejsi a schudejsi. Co bude delat vase aplikace v okamziku, kdy ke stejnemu souboru budou pristupovat dva uzivatele naraz? Leo
WertriK
Profil *
krteczek : no ja to prave mam taky vyzkousene ....
leo : to s tema uzivatelama jsem nepochopil, jako ze budou zaroven ukladat data do souboru ?
Leo
Profil
"to s tema uzivatelama jsem nepochopil, jako ze budou zaroven ukladat data do souboru?"

Jo, nebo jeden cist, druhy ukladat, Leo
krteczek
Profil
<OT>
Stala se mi taková věc, odeslal jsem na své knize návštěv přízpěvek, a normálně se mi smazaly všechny přízpěvky které v ní byly, nějak jsem nepochopil co se stalo, ale asi něco podobného, co naznačuje Leo. No a protože nemám zálohy tak jsem byl z toho docela mimo.
</OT>
krteczek
printf_jinde
Profil *
Sice už to se stránkováním nemá moc společného, ale pokud poctivě ošetřujete chyby, tak by ke ztrátě nemělo dojít. Přístup dvou uživatelů k jednomu zdroji lze elegantně vyřešit použitím semaforů. Taky může dojít k vyčerpání povolené kapacity disku, u nekvalitních hostingů k tomu občas dojde aniž byste překročili limit :-(.
Anonymní
Profil *
to Leo: akoze ja by som docela rad pouzil databazy ale tie neviem pouzivat uz totalne vobec
dex
Profil *

<?
if ($odoslane==odosli):
$subor = "board4.body";
@$fp = FOpen($subor, "r");
@$obsah = FRead($fp, FileSize($subor));
@FClose($fp);
if (($sprava=="") or ($meno=="")):
echo "<font color='red'><H2> <div class=text>CHYBA! NEZADAL SI POTREBNE UDAJE! <BR>
musi byt vypleni nick aj text spravy ! Vyskusaj este raz</H2></font>";
else:

$sprava = nl2br($sprava);
$write = "<table width=\"100%\" border=\"1\" class=\"novb\"><tr><td class=\"nnb\"><b>".$meno."</b></td><td align=\"right\" class=\"nnb\">".Date(" d.m.Y o H:i")."</td></tr><tr><td colspan=\"2\">".$sprava."</td></tr></table><br>\n" ;

$data = file_get_contents($subor); // mozna ti to server nebude podporovat
// pokud by to nefungovalo tak to smaz a vymaz "//" pred nsledujicim kodem

// $fp = FOpen ("gbook/book.dat", "r");
// $data = FRead ($fp, FileSize("gbook/book.dat"));
// FClose($fp);

$fp = FOpen ($subor, "w");
FWrite ($fp, $write.$data);
FClose ($fp);

endif;

$prispevek = File("board4.body");

if (!IsSet($idprispevek)) { $idprispevek=1; }
$pocatek = $idprispevek*15-15; // zobrazujem po 15
$konec = $idprispevek*15-1;

for ($i=$pocatek;$i<=$konec;$i++) {
echo $prispevek[$i];
}
// vypis 1,2,3,..
$strana = Ceil(Count($prispevek)/15);

for ($x=1;$x<=$strana;$x++) {
echo "<A href=\"?idprispevek=$x\">$x</A> |";
}
endif;

?>


Toto jsem použil, všechno se zobrazuje ok viz.: http://bazar2.fredoledo.com/add.php
Ale když kliknu na číslo stránky 1|2|3 tak se mi místo přízpěvků zobrazí prázdná stránka.
Dík za radu Michal.
dex
Profil *
ps. něco tam natukejte je to na další stránce...
Anonymní
Profil *
hmm..neviem ci tam nebude nejaky problem lebo v mojom editore sa nevyznacuje nic farebne...a zvicajne to aj v php roby takze neviem ci ja mam nejaky problem alebo v kode je problem
nesro
Profil *
co mam napst do souboru, kde mam data?
Pavel Prochazka.zde.cz
Profil *
Zdravim,
podivej se ma moje www stranky (prochazka.zde.cz) je tam diskuse se souborama... Tedka mam uz i tu samou verzi s databazi...
bukaj
Profil
pavel procházka se zde opět objevil jako tajemný rytíř ochotný udělat cokoli dobrého. a tak nabízí svoje skripty na stažení místo toho, aby poradil.

:) promiňte za ot, ale tohle mě vždy dostane
Pavel Prochazka.zde.cz
Profil *
bukaj to je tvuj problem, podivej se na muj web, tam se po registraci muzes pro nekomercni ucely stahnout scripty...
Ne kazdy dela vsechno pro penize, vis, ja to delam pro svuj web, a take to davam zadarmo na net. Nejsem ochoten udelat cokoliv. Jen jsem dotazujicimu nabydl moje reseni, co je na tom tak divneho? ze je to zadarmo? je spoustu sw zadarmo a kvalitni.... tak nevidim duvod proc takove nepochopeni.....
« 1 2 »
Toto téma je uzamčeno. Odpověď nelze zaslat.

0