Autor | Zpráva | ||
---|---|---|---|
lesiak307 Profil |
Pozdravujem všetkých. Potreboval by som radu. Možno sa to niekomu bude zdať primitívne, ale PHP sa venujem asi pol roka... Podarila sa mi spraviť kniha návštev. Až po odoslanie príspevku je všetko v poriadku. Príspevok sa na stránke vypíše bez problémov. Problém nastáva vtedy ak v prehliadači dám SPAŤ. Príspevok neostane... :( A keďže aj v dnešnej dobe existujú maníci, ktorí nevyužívajú menu stránky, vidím v tom dosť veľký problém. Prosím Vás aké je najjednoduchšie riešenie... Ďakujem!!!
Tu je kód: <form action="XXXXXXXXXX.php" method="post"> <table> <tr><td width="60">Nick:</td><td><input type="text" name="nick" size="20" value="<?echo $_POST["nick"];?>"<small><small><small> Max. 15 znakov!!!</small></small></small></td></tr> <tr><td>Text:</td><td><textarea name="text" cols="60" rows="10"><?echo $_POST["text"];?></textarea></td></tr> <tr><td colspan="2" align="right"><input type="submit" value="Odoslat"> <input type="reset" value="Vymazať" ></td></tr> </form> </table> <?php $spojenie = mysql_connect(" "); if(!$spojenie) // kontrola spojenia s databazou { echo "Chyba pri spojení s databázovým serverom : ". mysql_error(); die; } $databaza = mysql_select_db(" "); if(!$databaza) // kontrola spojenia s tabulkou { echo "Chyba pri výbere tabuľky : ". mysql_error(); die; } if(!$_POST) { } else { $_POST["text"]=htmlspecialchars($_POST["text"]); if (strlen ($_POST["nick"])== 0 && strlen ($_POST["text"])==0) { ?><font color="red"<b><?echo "Nič ste nezadali!!!"; ?></b></font><br><? } elseif (strlen ($_POST["nick"])==0 || strlen ($_POST["nick"])>15) // kontrlola poctu znakov v NICK-u { ?><font color="red"><b><?echo "NICK musí mať od 1 do 15 znakov!!!"; ?></font></b><br><? } elseif (($_POST["nick"]=="admin") || ($_POST["nick"]=="administrator") || ($_POST["nick"]=="Admin") || ($_POST["nick"]=="Administrator") || ($_POST["nick"]=="Administrátor")) { ?><font color="red"><b><? echo "V tomto fóre nie ste oprávnení používať nick administrátora!!!"; ?></b></font><? } elseif (strlen ($_POST["text"])==0 || strlen ($_POST["text"])>3000) { ?><font color="red"><b><?echo "Nezadali ste žiaden text, alebo text je príliš dlhý!!!"; ?></font></b><? } else { mysql_query("INSERT INTO questbook VALUES ('','".$_POST['nick']."','".$_POST['text']."','".time()."')"); // vkladanie udajov do datab. } } $vypis1 = mysql_query("SELECT * FROM questbook ORDER BY cas DESC"); // premenna ktora vybera udaje z databazy a usporiada ich podla casu while($vypis = mysql_fetch_array($vypis1)): // vypis udajov z databazy ?> <div id="forumtab"> <table border="1" cellpadding="6" cellspacing="0" width="590" frame="void" rules="cols"> <tr><td width="110" align="right" valign="center" ><h3> <? echo $vypis['nick']?>:</h3></td><td align="left" valign="top"><? echo $vypis['text']?></td></tr> <tr><td background="forumcas.gif" width="110" align="right"><p>Pridané:</p></td><td background="forumcas.gif"><p><? echo date("j.n Y",$vypis['cas'])." o ".date("G:i:s",$vypis['cas'])?></p></td></tr> </table> <br> </div> <? endwhile; ?> Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
Alphard Profil |
#2 · Zasláno: 23. 12. 2009, 22:07:30
lesiak307:
„Príspevok neostane...“ Jestli to dobře překládám, jde o cache. Je to normální chování prohlížečů, když aktualizujete stránku (F5), měl by se objevit. |
||
lesiak307 Profil |
#3 · Zasláno: 23. 12. 2009, 22:44:26 · Upravil/a: lesiak307
Asi sme sa trošku nepochopili. To reload (F5) ani nie je potrebne, prispevok sa uloží a je ho aj hneď vidieť. Ide o to, že ak dáte SPAŤ vymaže sa....
|
||
lesiak307 Profil |
#4 · Zasláno: 23. 12. 2009, 23:05:33 · Upravil/a: lesiak307
je to problém...
|
||
Jan Tvrdík Profil |
#5 · Zasláno: 23. 12. 2009, 23:14:35
lesiak307:
Vidím to stejně jako Alphard. „ak dáte SPAŤ vymaže sa“ Proč si myslíte, že se vymaže? Když dáte zpět a následně F5, tak se nezobrazí? |
||
Alphard Profil |
#6 · Zasláno: 23. 12. 2009, 23:15:39
Mám tady rozepsanou odpověď, tak to ještě pošlu.
lesiak307: „Ide o to, že ak dáte SPAŤ vymaže sa....“ To snad ne, jen se načte minulá stránka z cache, na které ještě není. Když nyní stisknete F5, měl by se objevit. A později tam je, ne? Zabránit se tomu dá těžko, mohl byste zakázat cache, ale nejsem si jist, jestli vás všechny prohlížeče poslechnou a mohlo by se to nepříznivě projeví na výkonu aplikace. |
||
lesiak307 Profil |
#7 · Zasláno: 24. 12. 2009, 10:12:27
Takže takto... Ďakujem za radu. Veľmi mi to pomohlo. Prajem prijemne sviatky
|
||
Časová prodleva: 14 let
|
0