Autor Zpráva
Borsa
Profil *
Ahoj všichni.
Prosím potřebuji vyřešit jeden problém.
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");
$data =implode($_POST,"#");
fwrite ($fo ,$data);
fclose($fo);
?>


už sem to zkoušel takhle:
<?
$fo = fopen ("zformulare.txt", "a");
fwrite ($fo ,implode($_POST,"#"));
fclose($fo);
?>
nebo třeba tohle :



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

Může mi někdo pomoci???????
Borsa
Profil *
OMYL - OPRAVA

Ahoj všichni.
Prosím potřebuji vyřešit jeden problém.
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);
?>


už sem to zkoušel takhle:
<?
$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);
?>





Může mi někdo pomoci???????
Pachollini
Profil
Já bych asi zkusil místo
implode($_POST,"#");
použít
implode("#",$_POST);
;-)
A asi by to taky chtělo přidat nějaký oddělovač před přidávaný zánam.
Borsa
Profil *
a to znamená co přidat nějaký oddělovač před přidávaný zánam???
Já v PHP začinám tak omluvte takove dotazy :)
Borsa
Profil *
tak sem zkusil místo
implode($_POST,"#");
použít
implode("#",$_POST);


a stejně to nefunguje ;( ... Se mi to snad nepovede
Borsa
Profil *
Pacholliny dotaz .) ty si horolezec? jestli jo tak to jsme dva :)
Pachollini
Profil
OT: jenom pohoráchchodič

možná tak:
uložení:
<?
$fo = fopen ("zformulare.txt", "a");
$text=implode("<br />",$_POST)."\n";
fputs ($fo ,$text,strlen($text));
fclose($fo);
?>

vypsání:
<?
$file=file("zformulare.txt");
foreach($file as $row) echo $row."<hr />";
?>
nezkoušel jsem to, když tak napiš, co přesně to (ne)dělá nebo pošli odkaz
Borsa
Profil *
hm tak zase to ukládá hned za sebe ...
tady je zdroják toho co sem dal dohromady předtim...třeba to nějak pomuže k vyřešeni : <html>
<head><title>zkouska PHP</title>
</head>
<body>

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

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


</body>
</html>






jestli mas icq tak mi ho mužeš poslat na borsa@email.cz a mužem pokecat o horách .)
Borsa
Profil *
tak jo! kecal sem ! tedka to jede! jenom tak trochu nerozumim tomu zdrojáku ;/ .. ale na to snad přijdu
Borsa
Profil *
tak a tedka tedy dotazy k tomu skriptu .)....
1. <br /> proč je tam mezera a lomitko?
2.co znamená tento řádek ? fputs ($fo ,$text,strlen($text));
3. co znamená /n ?
4.vubec nevim co je toto :/
<?
$file=file("zformulare.txt");
foreach($file as $row) echo $row."<hr />";
?>
Borsa
Profil *
kdyžtak mělo by to byt na http://213.211.52.11/index6.php
Pachollini
Profil
1. Kdybys to měl v XHTML, musí to tak být.
2. Fputs() je synonymum pro fwrite(), nějak jsem na něj zvyklej. Strlen($text) říká, že se má uložit maximálně tolik znaků, kolik má ten řetězec. Vím, že mě to někdy zlobilo, když jsem tam tu délku nedal. Celé to jenom přidá obsah do souboru.
3. \n znamená konec řádku.
4. Funkce file() načte obsahu souboru do pole, co řádek to prvek. Foreach vezme každý prvek pole a uloží ho do proměnné $row a pak ho vypíše.

Takhle jak je to napsané to bude mít tu chybu, že když uživatel odřádkuje, rozdělí se to na víc "přísoěvků", takže je třeba udělat úpravu ukládání:
<?
$fo = fopen ("zformulare.txt", "a");
$text=str_replace("\n","<br />",implode("<br />",$_POST))."\n";
fputs ($fo ,$text,strlen($text));
fclose($fo);
?>
Tím se nahradí konce řádků, byť ne 100%.
Toto téma je uzamčeno. Odpověď nelze zaslat.