Autor | Zpráva | ||
---|---|---|---|
Milan Sobotka Profil |
#1 · Zasláno: 21. 11. 2014, 23:52:50 · Upravil/a: Moderátor (editace znemožněna) 22. 11. 2014, 08:25:37
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 |
#2 · Zasláno: 22. 11. 2014, 01:00:35
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 |
#4 · Zasláno: 22. 11. 2014, 08:39:26
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 |
#5 · Zasláno: 22. 11. 2014, 08:44:20
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 |
#6 · Zasláno: 22. 11. 2014, 13:53:14
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 |
#7 · Zasláno: 22. 11. 2014, 13:57:14
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 |
#8 · Zasláno: 22. 11. 2014, 14:11:30 · Upravil/a: Milan Sobotka
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 |
#9 · Zasláno: 22. 11. 2014, 14:18:31
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 |
#10 · Zasláno: 22. 11. 2014, 14:30:49
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 |
#11 · Zasláno: 22. 11. 2014, 18:35:48
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?
|
||
Časová prodleva: 9 let
|
0