Autor Zpráva
Milan Sobotka
Profil
Zdravím.
Potřeboval bych poradit. Mám tyto soubory:
index.html:
<!DOCTYPE>
<HTML>
   <HEAD>
      <META http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
      <link href="/styles/style1.css" rel="stylesheet" type="text/css"/>
   </HEAD>
   <BODY>  
<form method="post" action="zpracovat.php" accept-charset="windows-1250"> 
    Parametr 1: 
<input  type="text" name="jmeno" size="50" maxlength="15"><br> 
<input type="submit" > 
<input type="reset" value="Reset"> 
</form> 
</BODY> 
</HTML> 

zpraovat.php:
<!DOCTYPE>
<HTML>
   <HEAD>
      <META http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
      <link href="/styles/style1.css" rel="stylesheet" type="text/css"/>
   </HEAD>
   <BODY>  
       <?php 
$f =fopen("td1.txt", "w");
fwrite($f, "".$_POST['jmeno']."");
fwrite($f,"\n");
fclose($f); 
echo "Nový údaj byl úspěšně zapsán."; 
 

$soubor = fopen("./td1.txt", "r"); 
$prvni=fgets($soubor); 
fclose($soubor);
echo "Údaj 1: $prvni ";
?>
    </BODY></HTML>

Je to na ukládání dat do souboru. Vše fungovalo. I KÓDOVÁNÍ... Pak jsem asi neco udělal a něco se rozbilo... :) Prosím pomozte najít chybu, proč to nekóduje. Předem děkuji.


milansobotka.mablog.eu/pracesesoubory


Moderátor Joker: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
bestik_63
Profil
Zkuste accept-charset="windows-1250" změnit na UTF nebo parametr accept-charset úplně vynechat.
Milan Sobotka
Profil
Jo funguje. Mockrát děkuji...


A ještě bych se zeptal na jednu věc. Jak udělat mazání pouze některého řádku v souboru txt?
juriad
Profil
Milan Sobotka:
Načíst celý soubor, rozdělit podle znaku odřádkování (nebo načíst rovnou pole řádků), smazat řádek z pole, znovu spojit a celé to zapsat do souboru.
Soubor neumožňuje mít díry, ehm.

Pokud by ten soubor mohl být větší než řekněme pár set kilobytů, existuje lepší algoritmus (který data skutečně posouvá), případně by šlo data přesunout do databáze, která toho zvládne o mnoho víc.
Milan Sobotka
Profil
Jo databaze to je jasny... Je to prehlednejsi atd atd... Ale databazi prave ze moc neumim. Takze bude asi lepsi mit na 3 udaje tri soubory a cist zvlast...
Milan Sobotka
Profil
Nevíte náhodou, co může způsobovat to, že se mi vše uloží do souboru v pořádku, ale když obnovím stránku, tak se ze souboru vše vymaže?
lionel messi
Profil
Milan Sobotka:
Použil by som na zápis $f =fopen("td1.txt", "a");, príznak w totiž zmaže existujúci obsah súboru. Taktiež by som si prečítal o atomicite operácií.
Milan Sobotka
Profil
No me staci jen jeden udaj ktery se bude premazavat. na to je w dobre ale absolutne nevim, co se stalo. Vezmu i kod ze zalohy, ktery fungoval a ted najednou nefunguje... Jako php je fakt carovny... :)


http://www.milansobotka.mablog.eu/pracesesoubory/zkouska.php


A obnovte stranku a nebude to tam...
lionel messi
Profil
Milan Sobotka:
Skúste súbor zpracovat.php upraviť takto:
<?php
if(isset($_POST['jmeno']))
{ 
  $f =fopen("td1.txt", "w");
  fwrite($f, "".$_POST['jmeno']."");
  fwrite($f,"\n");
  fclose($f); 
  echo "Nový údaj byl úspěšně zapsán."; 
}
Milan Sobotka
Profil
Jo to je ono... Moc děkuji.. IHNED ZALOHUJI... :D Nechapu co se stalo... Ale obcas se mi to presne takhle stava a musim udelat jinej kod. :)
Milan Sobotka
Profil
A ještě další dotaz. :-) Mám přihlašovací skript php a do toho chci dát toto html a php... Samozrejme nefunguje... Je mi jasny, ze se musej oddelit uvozovky ale nejde to jiným způsobem?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0