Autor | Zpráva | ||
---|---|---|---|
rail Profil |
ahoj, ja jsem napsal prostej guestbook :
<html> <body> <form action="komentare.php" method="POST"> <table> <tr> <td>Jmeno:</td><input type="hidden" value="uloz" name="action"/><td><input type="text" name="jmeno" cols="40"/><td> </tr> <tr> <td>Komentar:</td><td><textarea type="text" name="komentar" rows="5" cols="40"></textarea></td> </tr> <tr> <td></td><td><input type="submit" value="ok" name="ok"/></td> </table> </form> <table> <?php $action = $_POST['action']; $jmeno = $_POST ["jmeno"]; $komentar = $_POST ["komentar"]; if ($action=='uloz'){ $soubor = fopen($jmeno, "a"); $text = fread($soubor, filesize($jmeno)); echo($text); fclose($soubor); if (($jmeno=="") or ($komentar=="")){ echo ("Vase jmeno nebo komentar nejsou doplneny.Prosim vratte se a doplante."); }else{ $soubor = fopen("soubor.txt", "w+"); $tab = "<tr><td awidth=\"300\" >".$jmeno."</td> <td align=\"right\">".Date(" d/m/Y H:i:s")."</td> </tr><tr><td colspan=\"2\">".$komentar."</td> </tr>"; $soubor = fopen($jmeno, "a"); fputs($soubor, $tab); fputs($soubor, $text); fclose($soubor); } } ?> </table> </body> </html> ale mam problem s tim ,že chci aby ta proměnná $soubor se porat vytvarela s novym komentarem. Jak bych to měl udělat |
||
tiso Profil |
#2 · Zasláno: 22. 7. 2009, 13:59:54
rail: záleží na tom ktorú premennú $soubor máš na mysli...
|
||
rail Profil |
#3 · Zasláno: 22. 7. 2009, 14:00:53
uplně tu první--$soubor = fopen($jmeno, "a");
|
||
vynalezce Profil |
#4 · Zasláno: 22. 7. 2009, 14:07:57
zda se mi to nebo kdyz jako jmeno zadam index.php?nakej_hodne_dlouhej_text
tak mi to hodi zdrojak index.php |
||
rail Profil |
#5 · Zasláno: 22. 7. 2009, 14:47:15
nwm ale kdyz to udelam ja tak to de normalne
|
||
rail Profil |
nebo kdyz udelam tohle:
<html> <body> <form action="komentare.php" method="POST"> <table> <tr> <td>Jmeno:</td><input type="hidden" value="uloz" name="action"/><td><input type="text" name="jmeno" cols="40"/><td> </tr> <tr> <td>Komentar:</td><td><textarea type="text" name="komentar" rows="5" cols="40"></textarea></td> </tr> <tr> <td></td><td><input type="submit" value="ok" name="ok"/></td> </table> </form> <table> <?php $action = $_POST['action']; $jmeno = $_POST ["jmeno"]; $komentar = $_POST ["komentar"]; if ($action=='uloz'){ $soubor = fopen("soubor.txt", "r"); $text = fread($soubor, filesize("soubor.txt")); echo($text); fclose($soubor); if (($jmeno=="") or ($komentar=="")){ echo ("Vase jmeno nebo komentar nejsou doplneny.Prosim vratte se a doplante."); }else{ $soubor = fopen("soubor.txt", "w+"); $tab = "<tr><td awidth=\"300\" >".$jmeno."</td> <td align=\"right\">".Date(" d/m/Y H:i:s")."</td> </tr><tr><td colspan=\"2\">".$komentar."</td> </tr>"; $soubor = fopen("soubor.txt", "a");\ fputs($soubor, $tab); fputs($soubor, $text); fclose($soubor); } } ?> </table> </body> </html> premnenim ty promenne na soubor.txt tak mi ke kazdemu komentari se pridaji jeste ty predchozi. tak co mam delat Moderátor Alphard: Vkládej prosím kód mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
Radek9 Profil |
#7 · Zasláno: 22. 7. 2009, 14:53:44 · Upravil/a: Radek9
Uzavírej prosím kód do tagu.
A stačí jen toto upravit: $soubor = fopen("soubor.txt", "a");\ fputs($soubor, $tab); fputs($soubor, $text); fclose($soubor); za: $soubor = fopen("soubor.txt", "w");\ fwrite($soubor, $tab."\n".$text); fclose($soubor); Možná jsem tě nepochopil, tak to zkus vysvětlit nějak srozumitelně, s diakritikou a s interpunkcí. |
||
rail Profil |
#8 · Zasláno: 22. 7. 2009, 14:57:34
jo dik, ale mam jste jeden problem ,kdyz napisu komentar vypise se mi ten predkchozi
|
||
Radek9 Profil |
#9 · Zasláno: 22. 7. 2009, 15:00:56 · Upravil/a: Radek9
Takže si to ujasníme. Ukládáš komentáře do souboru "soubor.txt" a jestli jsem tě pochopil tak chceš aby to vypisovalo vždy jen jeden příspěvek? Nebo jak to myslíš? Protože je normální, že se vypisují předchozí komentáře.
|
||
rail Profil |
#10 · Zasláno: 22. 7. 2009, 15:03:49
ne, kdyz napisu komentar tak se ten komentar neoblevi ,ale objevi se ten predchozi . a ja chci aby to slo normalne.
|
||
Radek9 Profil |
#11 · Zasláno: 22. 7. 2009, 15:05:35
Takže se místo toho co napíšu objeví znovu ten předchozí nebo se ten co napíšu prostě jen nezobrazí?
|
||
rail Profil |
#12 · Zasláno: 22. 7. 2009, 15:08:54
kdyz delitnu ten soublor.txt a napisu novy (teda prvni) komentar tak se neobjevi, kdyz napisu nejakej jinej komentar(teda ten druhej) tak se objevi ten predchozi(ten prvni)
|
||
Radek9 Profil |
#13 · Zasláno: 22. 7. 2009, 15:10:05 · Upravil/a: Radek9
<?php $action = $_POST['action']; $jmeno = $_POST ["jmeno"]; $komentar = $_POST ["komentar"]; if($action=='uloz'){ if(file_exists("soubor.txt")){ $soubor = fopen("soubor.txt", "r"); $text = fread($soubor, filesize("soubor.txt")); fclose($soubor); } if (($jmeno=="") or ($komentar=="")){ echo ("Vase jmeno nebo komentar nejsou doplneny.Prosim vratte se a doplante."); }else{ $tab = "<tr><td width=\"300\" >".$jmeno."</td> <td align=\"right\">".Date(" d/m/Y H:i:s")."</td> </tr><tr><td colspan=\"2\">".$komentar."</td> </tr>"; $soubor = fopen("soubor.txt", "w");\ chmod("soubor.txt", 0777); fwrite($soubor, $tab."\n".$text); fclose($soubor); } } ?> Takhle by to mělo fungovat. |
||
Časová prodleva: 15 let
|
0