Autor Zpráva
Borsa
Profil *
Ahoj lidi!
Mám takovej malej problem, i když to určitě bude jenom o nějaké blbosti co mi uniká ....
V PHP sem začátečník a nemužu přijit na to, jak z formulářového text. pole uložim po kliknuti na třeba "odeslat" napsaný text do souboru třeba zformulare.txt ...
Jestli někdo máte chut mi pomoci tak mi pošlete zdroják třeba i na mail Borsa@email.cz
Sem si jistej že nebude mit vic jak 10 řádků ..
Všem ochotným moc děkuju!
thingwath
Profil
Nevyžaduj ve veřejné diskuzi zaslání odpovědi na email. Není to slušné.

Každopádně je to skutečně jednoduché. Uděláš si nějaký formulář:

<form action="zpracuj.php" method="post">
<textarea name="txt">
Sem vepiste text
</textarea>
<input type="submit" value="Odesli" />
</form>


A ve skriptu zpracuj.php uděláš něco takového:

<?
if (!empty ($_POST['txt'])) {
$fd = fopen ("zformulare.txt", "a"); // a znamena pridat na konec, w by bylo prepsat, pokud soubor neni, vytvori se
fwrite ($fd, $_POST['txt']);
fclose($fd);
}
?>

Bacha na to, že tenhle skript postrádá všechny kontroly, krom kontroly jestli mu vůbec bylo něco předáno.
Borsa
Profil *
Jo diky moc .. A podle čeho se urči proměnná $_post ???? Spiš k čemu je to podtržitko? post bude asi z method
thingwath
Profil
post obsahuje hodnoty, které předá prohlížeč z toho formuláře metodou POST, kdyby bylo ve formuláři GET, bylo by to $_GET

podtržítko nějak moc velký význam nemá, předpokládám, že je tam, aby se náhodou název proměnné nespletl ($_POST je globální proměnná a platí všude)
Borsa
Profil *
hupss. ... tak když sem se to snažil použit , tak mi to napiše chybu : Parse error: syntax error, unexpected ';' in f:\Inetpub\wwwroot\zpracuj.php on line 8

a to je řádek fwrite ($fd, $_POST['txt'];
Borsa
Profil *
Neviš náhodou co s tim pls?
centi
Profil
fwrite($fd,$_POST['txt']); chyba tam zatvorka
Borsa
Profil *
tak to sem už taky zkusil a napsalo mi to v řádku kde mám </html> undefined $end ?.............. :(
Borsa
Profil *
kecám, psalo to tohle : Parse error: syntax error, unexpected $end in f:\Inetpub\wwwroot\zpracuj.php on line 12
thingwath
Profil
Žádné $end tam nepoužívám, to musí být nějaký tvůj kód, jestli ho tam máš.
Borsa
Profil *
právě že nemám, klidně sem nakopiruju celej ten zdroják
thingwath
Profil
A 12 řádek to moje taky nemá, takže říkám, je to v tvém kódu :-) Kdyžtak ho sem pošli.
thingwath
Profil
Aha, já jsem vůl, mám tam ještě jednu chybu. To if se musí uzavřít složenou závorkou. Ach jo.

Opravil jsem původní příspěvek.
Borsa
Profil *
hahaha už sem na to přišel :) chybělo tam }; ... že sem se na to nepodival hned :)

A omlouvam se že ještě otravuju, ale v čem mám chybu ?
<?
$fo = fopen ("zformulare.txt", "a");
fwrite ($fo , $_post);
fclose($fo);
?>
centi
Profil
$_POST["nazov_policka_vo_formulari"]
A $_POST musi byt velkymi pismenami myslim...
thingwath
Profil
$_POST je indexované pole, nebo jak se to jmenuje. Musíš mu tedy říct co přesně, chceš, nevím jestli jde zapsat jenom celé pole. Použij $_POST['název_prvku_formuláře'];
Borsa
Profil *
Bezva, díky všem za pomoc :) už mi to jede :)
Borsa
Profil *
Muže mi ještě prosim někdo poradit, jak to mám ukládat do toho textáku, aby se mi to oddělovalo třeba i nějakym znakem ??? asi funkce explode, ale nevim jak ji tam mam použit...:(

<?
$fo = fopen ("zformulare.txt", "a");
fwrite ($fo , $_POST["pole"]);
fclose($fo);
?>
Borsa
Profil *
tak mi prosím někdo helpněte ....
centi
Profil
co sa ma oddelovat?? jednotlive udaje z formulara?? Napr:
meno;priezvisko;vek;vyska;cislo_topanok ??

Ak hej, tak jednoducho:
$data = $_POST["meno"].";".$_POST["priezvisko"].......

<?
$fo = fopen ("zformulare.txt", "a");
fwrite ($fo , $data);
fclose($fo);
?>
centi
Profil
Mozno by slo aj:

$data = implode(";",$_POST);

ale to som si nie isty.
Borsa
Profil *
tak se, zkoušel to co si mi psal posledně a i tohle
<?
$fo = fopen ("zformulare.txt", "a");
fwrite ($fo ,implode($_POST,"#"));
fclose($fo);
?>
nebo třeba tohle :

<?
$fo = fopen ("zformulare.txt", "a");
$data =implode($_POST,"#");
fwrite ($fo ,$data);
fclose($fo);
?>


Potřebuji dosahnout toho, aby se text ktery zada uživatel do pole ukládal za předchozí uložený text za nějakým znakem , abych následně mohl zase číst text rozdělený těmi znaky a zobrazovat na stránku do řádků a ne aby se mi to psalo hned za sebe jako v připadě
<?
$fo = fopen ("zformulare.txt", "a");
fwrite ($fo ,$_POST);
fclose($fo);
?>

Může mi někdo pomoci???????
Toto téma je uzamčeno. Odpověď nelze zaslat.