Autor | Zpráva | ||
---|---|---|---|
TechniX Profil |
#1 · Zasláno: 20. 11. 2013, 12:02:47
Na internetu je k nalezení celkem dost jednoduchých knih návštěv bez použití databáze. Našel jsem tohle originál kód bez jakýkoliv úprav jen tak pro studii:
<!-- (c) by Khamos, www.khamos.wz.cz | verze 1.4 --> <!-- další info v souboru info.txt --> <?php $codepath=""; // cesta k obrázku s kódem $datafile=""; // soubor kam se budou ukládat příspěvky $codenumber=""; // kontrolní kód, musí být shodný s číslem na obrázku ?> <form method="POST" action="guestbook.php"> Jméno:<br> <input type="text" name="name" size="40"><br> E-mail:<br> <input type="text" name="email" size="40"><br> Vzkaz:<br> <input type="text" name="text" size="40"><br> Opište kontrolní kód:<br> <input type="text" name="code" size="10"> <img src="<?php echo "$codepath" ?>" border="0"> <input type="submit" value="Vložit" name="add"> </form> <br> <? $fp = FOpen ("$datafile", "r"); $data = FRead ($fp, FileSize("$datafile")); FClose($fp); $file = "$datafile"; $time = date("j.n.Y"); if ($code == "$codenumber") { $fp = fopen("$file", "w"); $write = "<a href=mailto:$email><img src=email.gif border=0></a> <i>$name napsal(a) dne $time:</i><br>$text<br><br>"; FWrite ($fp, $write.$data); fclose($fp); } include("$file"); ?> Vše jsem udělal podle návodu a i včetně atributy souboru pro oprávnění do kterého se zapisuje data z odeslání formuláře. Problém je v tom že po vypsání formuláře (i správného kódu) nevypíše se žádná chybová hláška a ani to nezapíše data do souboru .. soubor má pořád 0kb a je opravdu prázdný! Když v total commanderu napíšu do soubru nějaký text, skutečně se zobrazí i na webu pod formulářem, ale z prohlížeče po odeslání dat z formuláře to nechce zapsat data do souboru ... Už jsem si i hrál s nastavením atribut 7777 a žádná sláva .. Hosting na kterém to testuji je ENDORA.CZ Už si s tím nevím opravdu rady, přitom kontrolní kód je správný + vyrobený obrázek a cesta k souboru + atribut... Případně pokud by někdo nevěděl o něčem jednoduchém kde by byla případně i příloha souboru ? :) |
||
Chro Profil |
#2 · Zasláno: 20. 11. 2013, 12:14:22
Zkus místo otevírací značky <? použít <?php. Ne vždy je tzv. zkrácený tag povolen a skript se nevykoná.
|
||
Jan Tvrdík Profil |
#3 · Zasláno: 20. 11. 2013, 12:15:42
|
||
Joker Profil |
TechniX:
V první řadě, kolem proměnných se nedělají uvozovky. Dál, jsou někde definované proměnné $name, $email, $time, $text? Nemá to být $_POST["name"] atd.? Přímý důvod toho problému asi bude: if ($code == "$codenumber") , opět, $code není definované ($_POST["code"]?), kromě toho kolem $codenumber nemají být uvozovky (ale nezpůsobí to chybu).
Předpokládám, že na ostrém webu v $codenumber je nějaký kód a ne prázdný řetězec. S prázdným řetězcem by to asi „fungovalo“, respektive nefungovalo, ale projevovalo by se to jinak. |
||
TechniX Profil |
#5 · Zasláno: 20. 11. 2013, 12:42:31
Máte pravdu je to celé špatně, jen tak zkusmo jsem odstranil if ($code == "$codenumber") a po máčknutí tačítka Vložit už to zapisuje do souboru, no paráda!! Ale fór je v tom že zapsané hodnoty z formuláře to nenapíše do souboru, jak kdybych žádné nezapisoval ...
Píše to jen: napsal(a) dne 20.11.2013: napsal(a) dne 20.11.2013: napsal(a) dne 20.11.2013: napsal(a) dne 20.11.2013: Protože jsem to zkoušel 4x.. Je vidět že to je vše špatně vymyšlené od začátku, ale hlavně že je to publikované všude po celém internetu :( =guestbook&g[oz]=1.4]Odkaz |
||
baltazar Profil * |
#6 · Zasláno: 20. 11. 2013, 14:59:04 · Upravil/a: baltazar
Zkus něco dát do proměné $text = $_POST["text"]; Dej to nahoru a mělo by to fungovat. Nestudoval jsem kod podrobně, ale tohle je věc, kterou tam nevidím.
Za $time = date("j.n.Y"); dej $text = $_POST["text"];
|
||
Časová prodleva: 4 dny
|
|||
TechniX Profil |
#7 · Zasláno: 24. 11. 2013, 20:55:24
Tak to bylo beznadějné a nepovedlo se mi to opravit ... ale našel jsem konečně něco co funguje a splňuje účel, i když tam není nahrávání přílohy. Jinak super! :)
http://www.jakdelatweby.cz/php/diskuse.php |
||
Časová prodleva: 10 let
|
0