Guestbook bez databáze
15 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zkouším zprovoznit návštěvní knihu bez databáze, jen se zápisem do souboru book.dat. Ten zápis jsem ošetřil takhle: <? if ($odeslano=="ano"): if ($jmeno=="" || $email=="" || $popis==""): echo "<br /><font class=chyba>musíte vyplnit všechny povinné údaje<br /></font>"; else: $name = "<font class=jmeno>$jmeno</font><br />\n"; $e_mail = "<a class=odkaz href=mailto:$email>$email</a><br />\n"; if ($web!=""): $www = "<a class=odkaz href=\"$web\">$web</a><br />\n"; endif; $cas = "<font class=cas>" . Date("j. " . "m. " . "Y, " . "H:i:s") . "</font><br />\n"; $popis2 = NL2BR(HTMLSpecialChars($popis)); $zprava = "<br /><font class=text>$popis2</font><br /><br /><hr color=\"#ffd700\"><br />\n\n"; $write = StripSlashes($name . $e_mail . $www . $cas . $zprava); if (File_Exists ("book.dat")): $fp = FOpen ("book.dat", "r+"); $data = FRead ($fp, FileSize("book.dat")); FClose($fp); endif; $fp = FOpen ("book.dat", "r+"); FWrite ($fp, $write.$data); FClose ($fp); endif; endif; ?> <hr color="#ffd700"><br /> <? if (File_Exists ("book.dat")): $fp = FOpen ("book.dat", "r+"); FPassThru($fp); endif; ?> U mě na počítači mi to funguje, když to ale nahraju na server, nic se nezapíše. Nevíte jak to napravit? Díky
-
chmod 777 na ten soubor book.dat
-
chmod 777 už mám a stejně to nefunguje.
-
Myslim ze na WZ neni povolena funkce "FOpen" se mi zda ze sem to tu nekde cetl ktere fce zde nejdou... ale nejsem si ted uplne jisty..
-
Tak ne to byl "popen" vypis: Z bezpečnostních důvodů není možné povolit na serveru úplnou sadu možností PHP. Proto uvádíme seznam zakázaných funkcí: * Úplně: exec, system, passthru, set_time_limit, error_log, ini_set, dl, popen, pfsockopen, openlog, syslog, readlink, symlink, link, leak * Omezeny jsou: souborové a adresářové funkce (na práci se soubory pouze ve Vašem adresáři), funkce mail (platí omezení na 10 odeslaných e-mailů na jednom účtu za hodinu).
-
fopen() funguje ..nezapomnel si pripsat mod? fopen("soubor", "mod"); 1. r+ (čtení - otevření souboru pro čtení a zápis od začátku). 2. r (čtení - otevření souboru pouze pro čtení od začátku). 3. w+ (zápis - soubor se otevře pro zápis a čtení od začátku. Pokud soubor existuje, bude vymazán. Jestliže neexistuje pokusí se ho vytvořit). 4. w (zápis- soubor se otevře pouze pro zápis od začátku. Pokud existuje, bude vymazán. Jestliže neexistuje pokusí se ho vytvořit). 5. a (soubor bude otevřen pouze pro doplnění nového zápisu za konec již existujicího (předešlého) zápisu. Jestliže soubor neexistuje, pokusí se ho vytvořit). 6. a+ (soubor bude otevřen pro doplnění nového zápisu a čtení. Zápis začne od konce předešlého zápisu. Když soubor neexistuje, púokusí se ho vytvořit. 7. b (pro rozlišení binárních a textových souborů v systému Windows musíme nastavit tento mód). 8. x - vytvoří a otevře soubor
-
a co chmod 777 na adresar, ve kterem je soubor ulozen?
-
Já to ale nemám na webzdarma, mám to na blueboard - placený
-
Jen tak pro zajímavost jsem si to nakopíropval na svůj účet na webzdarma a tam to funguje. Ale na www.santino-corleone.com to nefunguje. Vážně nevím, co s tím. Asi budu muset kontaktovat provozovatele hostingu.
-
A nemas nahodou chyby v modech u fopen()? AD uvodni prispevek: 1) if (File_Exists ("book.dat")): $fp = FOpen ("book.dat", "r+"); $data = FRead ($fp, FileSize("book.dat"));FClose($fp); endif; prvni fopen pouze cte (resp. otevira pro cteni) ze souboru (od zacatku), nastav mod na "r". 2) $fp = FOpen ("book.dat", "r+"); FWrite ($fp, $write.$data); FClose ($fp); druhy fopen zapisuje do vyprazdneneho (resp. noveho) souboru, mod "w". 3) if (File_Exists ("book.dat")): $fp = FOpen ("book.dat", "r+"); FPassThru($fp); endif; treti fopen cte opet ze souboru od zacatku, opet staci mod "r". Mozna misto fpassthru() by bylo lepsi pouzit readfile(), ale vysledek je prakticky stejny...
-
Já to vyzkouším, ale je divný, že u mě na kompu to funguje, na webzdarma to funguje, ale na www.santino-corleone.com to nefunguje.
-
Tak tím to nebylo, pořád to nefunguje.
-
a ktera fce ti vrati jakou chybu? Neni na tom serveru fce fwrite() zakazana?
-
No, mě se žádná chyba nevrací. Mě se prostě nestane nic. No a po zakázanejch funkcích jsem pátral a nic jsem nenašel, mám to na hosting.blueboard.cz.
-
jestli to jinde funguje a tam ne, tak s tim se nejspis budes muset obratit opravdu na adminy blueboardu...