Autor | Zpráva | ||
---|---|---|---|
Jackien5 Profil * |
#1 · Zasláno: 20. 1. 2008, 23:22:45
Potřeboval bych poradit ohledně návštěvní knihy (žádné databáze - běžná práce se soubory). Na webzdarma.cz mi bohužel nefunguje správně, ovšem na disku u mne ano.
Problém mam v tom, že "online" se zpráva odešle, ale smažou se veškeré zprávy předtím, takže je tam vždy jen ta poslední, kterou další zprávou zase přemažu. U mě na PC se však zprávy normálně řadí za sebe a vše je ok. Nevíte, kde bych mohl hledat nějakou chybu či jak jí řešit? |
||
Paja Profil |
#2 · Zasláno: 20. 1. 2008, 23:43:48
pošli nějaký odkaz nebo kód... aby se dalo poradit v čem může být chyba
|
||
Jackien5 Profil * |
#3 · Zasláno: 21. 1. 2008, 12:44:51
Zasílám tedy ten zdroják... jinak teda chybu mam ještě s tím přesměrováním úplně dole (headers already sent by), ale s tím si snad už nějak poradím :)
if (($name!="" ) && ($message!="")): // přidání do knihy hostů // určení proměnných pro jména souboru a otevření souborů $file="./data/guest_book.body"; $file1="./data/guest_book.bak"; UnLink($soubor1); // vymazání souboru1 Copy($soubor, $soubor1); // zkopírování souboru do souboru1 $fp=FOpen($file, "w"); // otevření souboru pro zápis $fp1=FOpen($file1, "r"); // otevření souboru pro čtení // přidání nové zprávy FPutS($fp, "<div class=\"message\">"); FPutS($fp,"<div class=\"sender\"><b> ".HTMLspecialChars($name)." $heading</b><span class=\"time\">".date("d.m.Y | H:i")."</span></div><p>"); $message = stripslashes($message); $message = HTMLSpecialChars($message); $message = strtr($message, array("\r" => "")); //dva a více odřádkování převede na <br><br>: $message = preg_replace('#(' . "\n" . '{2,})#', "<br><br>", $message); //jednoodřádkování nahradí <br>: $message = strtr($message, array("\n" => "<br>")); FPutS($fp, $message); FPutS($fp, "</p></div>\n"); // přidáni souboru za novou zprávu a zavření souborů: FPuts($fp, FRead($fp1, FileSize($file1))); FClose($fp); FClose($fp1); endif; if ($name!="") header("Location: guest-book.php"); // přesměrování - kvůli F5 a opakovanému odeslání zprávy |
||
Jackien5 Profil * |
#4 · Zasláno: 21. 1. 2008, 12:46:18
Jo omylem jsem to špatně překopíroval na zhruba desátém řádku a jedenáctém je normálně použita správná proměnná, tedy:
UnLink($file1); // vymazání souboru1 Copy($soubor, $file1); // zkopírování souboru do souboru1 |
||
TFSi Profil |
#5 · Zasláno: 21. 1. 2008, 14:28:41
Copy($soubor, $file1);
Že by byla funkce copy na WZ zakázaná? ;) |
||
Jackien5 Profil * |
#6 · Zasláno: 21. 1. 2008, 14:55:14
jé děkuju, tohle mě opravdu nenapadlo... tahle fce ještě nedávno na wz fungovala ne?
|
||
TFSi Profil |
#7 · Zasláno: 21. 1. 2008, 17:21:10
Jackien5
tahle fce ještě nedávno na wz fungovala ne? Nedávno asi před dvěma lety naposledy. Dá se to ale obejít přes fopen() ... |
||
BlueRain Profil |
#8 · Zasláno: 21. 1. 2008, 19:12:48
|
||
Časová prodleva: 16 let
|
0