Autor Zpráva
kozusnik.jan
Profil *
Dobrý den, potřeboval bych poradit, kde mám chybu.
<form action="pokus_soubory.php" method="post">
<table>
<tr>
<td>Jmeno:</td><td><input type="text" name="jmeno"  /></td>
</tr>
<tr>
<td>E-mail</td><td><input type="text" name="mail" /></td>
</tr>
<tr>
<td>Vzkaz:</td>
</tr>
<tr>
<td><textarea cols="20" rows="3" name="vzkaz"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="ok" value="Odeslat" />
</td>
</tr>
</table>
</form>
<?php
if($ok) {
$tab = "<tr><td width=\"300\" >".$jmeno."</td>
<td align=\"right\">".Date(" d/m/Y  H:i:s")."</td>
</tr><tr><td colspan=\"2\">".$vzkaz."</td>
</tr><tr><td width=\"150\">".$mail."</td>
</tr><tr><td colspan=\"2\"><hr size=\"1\"></td>
</tr>
"; 
  $fp = fopen("zapisy.txt", "a+") or die ("NELZE OTEVRÍT ZADANÝ SOUBOR!");
  fwrite($fp, $tab);

 }; 
 $soubor = "zapisy.txt"; 
$vypis = fread($fp, filesize($zapisy));   
echo $vypis; 
?>	

Když dám ve formuláři odeslat, tak mi to v pohodě odešla, ale nezobrazí výpis souboru "zapisy.txt"
Laman
Profil
jednak se ti soubor otevře jen při splnění podmínky, ale čte se z něj vždy, jednak režim a+ umístí pointer na konec souboru, takže z něj už není co číst - musel bys ho umístit zase na začátek funkcí rewind(). případně si zjednodušíš práci a načteš ten soubor pomocí file_get_contents()...
1. možnost:
<?php
  $fp = fopen("zapisy.txt", "a+") or die ("NELZE OTEVRÍT ZADANÝ SOUBOR!");
if($ok) {
  $tab = ... // jen vynechávám nepodstatné řádky
  fwrite($fp, $tab);
}
rewind($fp);
$vypis = fread($fp,filesize("zapisy.txt"));  
fclose($fp);
echo ($vypis); 
?>

2. možnost:
<?php
if($ok) {
  $tab = ... // jen vynechávám nepodstatné řádky
  $fp = fopen("zapisy.txt", "a") or die ("NELZE OTEVRÍT ZADANÝ SOUBOR!");
  fwrite($fp, $tab);
  fclose($fp);
}
$vypis = file_get_contents("zapisy.txt") or die ("NELZE OTEVRÍT ZADANÝ SOUBOR!");  
echo ($vypis); 
?>
kozusnik.jan
Profil *
Dík za radu. Už to jede. Akorát mi nejde nastavit, aby se mi zapisovalo na začátek souboru. Vždy mi to zapíše až nakonec. Zdrojový kód:
<?php
  $fp = fopen("zapisy.txt", "a+") or die ("NELZE OTEVRÍT ZADANÝ SOUBOR!");
  rewind($fp);
if($ok) {
  $tab = "<tr><td width=\"300\" >".$jmeno."</td>
<td align=\"right\">".Date(" d/m/Y  H:i:s")."</td>
</tr><tr><td colspan=\"2\">".$vzkaz."</td>
</tr><tr><td width=\"150\">".$mail."</td>
</tr><tr><td colspan=\"2\"><hr size=\"1\"></td>
</tr>
"; 

  fwrite($fp, $tab);
fclose($fp);
}
$fp2 = fopen("zapisy.txt", "a+") or die ("NELZE OTEVRÍT ZADANÝ SOUBOR!");
rewind($fp2);
$vypis = fread($fp2,filesize("zapisy.txt"));  
fclose($fp2);
echo ($vypis);
?>

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:

0