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
rail: záleží na tom ktorú premennú $soubor máš na mysli...
rail
Profil
uplně tu první--$soubor = fopen($jmeno, "a");
vynalezce
Profil
zda se mi to nebo kdyz jako jmeno zadam index.php?nakej_hodne_dlouhej_text
tak mi to hodi zdrojak index.php
rail
Profil
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
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
jo dik, ale mam jste jeden problem ,kdyz napisu komentar vypise se mi ten predkchozi
Radek9
Profil
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
ne, kdyz napisu komentar tak se ten komentar neoblevi ,ale objevi se ten predchozi . a ja chci aby to slo normalne.
Radek9
Profil
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
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
<?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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: