Autor | Zpráva | ||
---|---|---|---|
Lubka Profil * |
Zdravím,
mam tento jednoduchej guestbook: <?php $jmeno = $_POST['jmeno']; $email = $_POST['email']; $web = $_POST['web']; $zprava = $_POST['zprava']; $jmeno=HTMLSpecialChars($jmeno); //převede některé znaky na entity $email=HTMLSpecialChars($email); $web=HTMLSpecialChars($web); $zprava=HTMLSpecialChars($zprava); $jmeno=stripslashes($jmeno); //odstraní lomítka $email=stripslashes($email); $web=stripslashes($web); $zprava=stripslashes($zprava); $zprava = str_replace("\n"," <br> ", $zprava); //nové řádky nahradí <br> $zprava = substr($zprava, 0, 5000);//zpráva bude mít maximálně 10000 znaků pomocí substr $email_celek=" | <a href='mailto:$email'></a>"; $web_celek=" | <a href='$web'>$web</a>"; if ($web=="http://"){$web_celek="";} //pokud se nevyplní nic se nevypíše if ($email=="@"){$email_celek="";} // -||- if ($zprava!="" and $jmeno!=""){ //provede se pokud není prázdná zpráva a jméno $celek="<p><strong>$jmeno</font></strong>$email_celek $web_celek<br>$zprava</p><hr>"; $soubor = fopen ('kniha.txt','r+'); //otevře soubor pro doplňování fwrite ($soubor, $celek); //zapíše zprávu fclose ($soubor); //zavře soubor } ?> Moderátor panther: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
ShiraNai7 Profil |
#2 · Zasláno: 17. 4. 2011, 15:04:10
Lubka:
„dokola, bude to asi pi*ovinka ale nevim si rady, díky všem za nápady:)“ Stejně jako návštěvní kniha bez databáze. |
||
Petr Wudi Profil |
#3 · Zasláno: 17. 4. 2011, 15:06:50
řádke 22: ne r+ ale a+
$soubor = fopen ('kniha.txt','a+'); //otevře soubor pro doplňování |
||
Lubka Profil * |
#4 · Zasláno: 17. 4. 2011, 15:17:07
a+ zapíše správu až na konec souboru a to nechci
|
||
DoubleThink Profil * |
#5 · Zasláno: 17. 4. 2011, 15:21:10
Nemůžeš zapisovat na začátek souboru (aniž bys nepřepisoval to, co už tam je).
|
||
Petr Wudi Profil |
#6 · Zasláno: 17. 4. 2011, 15:22:30 · Upravil/a: Petr Wudi
Lubka:
tak přidej do proměnné celek i zbytek souboru a to zapiš: $celek="<p><strong>$jmeno</font></strong>$email_celek $web_celek<br>$zprava</p><hr>"; $soubor = fopen ('kniha.txt','r+'); $celek = $celek . fread("kniha.txt", filesize("kniha.txt")); // Změněno, díky DoubleThinkovi za upozornění fwrite ($soubor, $celek); Nebo při čtení souboru postupuj od konce na začátek. |
||
DoubleThink Profil * |
#7 · Zasláno: 17. 4. 2011, 15:27:06
Petr Wudi:
Plus v PHP nespojuje řetězce. |
||
Keeehi Profil |
#8 · Zasláno: 17. 4. 2011, 16:55:36
A nebo v jednom řádku. (místo řádků 21-24)
file_put_contents($soubor,"<p><strong>$jmeno</font></strong>$email_celek $web_celek<br>$zprava</p><hr>".file_get_contents($soubor)); |
||
Časová prodleva: 13 let
|
0