Autor | Zpráva | ||
---|---|---|---|
TrueFriend Profil |
#1 · Zasláno: 23. 8. 2006, 01:43:05
Ahoj, neporadil by někdo, jak odeslat data z formuláře třetí straně?
Případ: Mám formulář (index.php) a ten běžně pomocí funkcí POST odesílá data souboru (zobraz.php), ale co když bych rád uložil tento vygenerovaný soubor (zobraz.php) ??? Moje řešení: Zkusil jsem to udělat tak, že jsem vytvořil nový soubor (filtr.php) na který jsou nasměrována data z FORMuláře, a tento soubor má za úkol uložit soubor ZOBRAZ.PHP. Problém: Doufal jsem, že pokud data z formuláře protečou přes jeden soubor, který s ním bude pracovat tak, že ho uloží, že uloží vygenerovanou stránku. Ale neděje se tak. Soubor (filtr.php) sice uloží soubor (zobraz.php), ale neuloží ho vygenerovaný podle formuláře, ale uloží jen holý soubor. Čeho chci dosáhnout: Aby bylo možné na straně serveru uložit výsledný soubor, kam byla odeslána data z formuláře, ale ve výsledném tvaru: Uživatel z formuláře je Martin nikoliv v základním tvaru: Uživatel z formuláře je <? echo $jmeno;?> Přikládám soubory: index.php <FORM ACTION='filtr.php' METHOD=POST name="aaa"> <TABLE> <TR><TH align=right>Uživatel:</TH><TD><INPUT TYPE=text NAME='jmeno' VALUE='Martin'></TD></TR> </TABLE> <INPUT TYPE=submit NAME="Input" VALUE=' VSTUP '> </FORM> filtr.php <?php $mujcil = file_get_contents("zobraz.php"); $fa = fopen("soubor.txt", "w"); fwrite($fa, "$mujcil"); fclose($fa); ?> zobraz.php Uživatel z formuláře je: <? echo $jmeno;?> |
||
djlj Profil |
#2 · Zasláno: 23. 8. 2006, 01:56:41
A jak do zobraz.php dostáváš proměnnou $jmeno?
|
||
Anonymní Profil * |
#3 · Zasláno: 23. 8. 2006, 02:26:14
nejsom si isty ale co takto skusit dlhsi tag, <?php echo $jmeno;?>
mozno mu php.ini nedovoluje pouzit kratsi a jednoducho to tam bachne ako text |
||
TrueFriend Profil |
#4 · Zasláno: 23. 8. 2006, 02:56:17
djlj
Proměnnou se tam snažím dostat: input-form-jmeno = index.php ----> filtr.php (měl by na sobě nést hodnoty získané ze souboru index.php) ten pak uloží do souboru soubor.txt obsah souboru zobraz.php, místo aby to dělal takhle: input-form-jmeno = index.php ----> zobraz.php kde zobrazí jen dada co získal. Mě jde o to, aby data co se získaly v index.php uložily bez zobrazení do souboru přes jiný soubor... |
||
Anonymní Profil * |
#5 · Zasláno: 23. 8. 2006, 03:06:21
no povedal by som ze ti tu chyba cast kde z globalnej _POST citas data
|
||
TrueFriend Profil |
#6 · Zasláno: 23. 8. 2006, 03:08:17
asi jo... nepomohl by někdo?
|
||
Anonymní Profil * |
#7 · Zasláno: 23. 8. 2006, 03:22:37
mozno to bude zniet sialene ale skus:
filtr.php <?php $string = file_get_contents("zobraz.php"); $mujcil = eval("$string"); $fa = fopen("soubor.txt", "w"); fwrite($fa, "$mujcil"); fclose($fa); ?> zobraz.php echo 'Uživatel z formuláře je: $_POST["jmeno"]'; ked uz to teda riesis takto |
||
Anonymní Profil * |
#8 · Zasláno: 23. 8. 2006, 03:28:22
ale napadlo ma lepsie riesenie, iked je to robene na jeden riadok
filtr.php <?php $string = file_get_contents("zobraz.php"); $mujcil = sprintf($string, $_POST['jmeno']); $fa = fopen("soubor.txt", "w"); fwrite($fa, "$mujcil"); fclose($fa); ?> zobraz.php 'Uživatel z formuláře je: %s' |
||
TrueFriend Profil |
#9 · Zasláno: 23. 8. 2006, 07:51:34 · Upravil/a: TrueFriend
Takhle ten script sice funguje, ale je potřeba, aby soubor zobraz.php dostal ty proměnné ve stavu proměnných.
Něco jakoby soubor filtr.php sám odelal formulářová data podruhé. Aby soubor zobraz.php nezpracoval jiný druh proměnné, ale jen metodu POST. A také je uložit v takovém stavu do soubor.txt. Zde jsem poupravil script, aby uměl i více proměnných: filtr.php: <?php $string = file_get_contents("zobraz.php"); $mujcil = sprintf($string, $_POST['jmeno'], $_POST['heslo']); $fa = fopen("soubor.txt", "w"); fwrite($fa, "$mujcil"); fclose($fa); ?> zobraz.php: Uživatel z formuláře je: %s Heslo které jste použil je: %s Nejde nějak udělat, aby soubor filtr.php přijal POST data z index.php, potom by interně načetl zobraz.php na který by aplikoval ty data z POST, ten výsledek stránky zobraz.php by načetlo interně PHP (do sebe) nebo do nějakého odkládacího souboru (třeba TEMP) a ten by pak mohl uložit jako soubor.txt Tohle mě jen napadlo, problém je, že jsem se ke zpracovávání TEMP ještě neměl jak dostat. ...výsedek je, aby se v souboru zobraz.php dali data poté přečíst místo %s příkazem echo $jmeno; echo $heslo; .... Díky |
||
djlj Profil |
#10 · Zasláno: 23. 8. 2006, 11:21:32
Nejde nějak udělat, aby soubor filtr.php přijal POST data z index.php, potom by interně načetl zobraz.php na který by aplikoval ty data z POST
Ano, jde. Ale ne pomocí file_get_contents. |
||
TrueFriend Profil |
#11 · Zasláno: 23. 8. 2006, 18:36:29
aha, takže pomocí file_post_contents ?
Promiňte že jsem v tomhle lama, právě proto sem píšu, abych se v tom mohl zlepšit... |
||
djlj Profil |
#12 · Zasláno: 23. 8. 2006, 21:07:01
TrueFriend
Ne. Třeba include. |
||
djlj Profil |
#13 · Zasláno: 23. 8. 2006, 21:07:42
Ono snad existuje něco jako file_post_contents? :)
|
||
TrueFriend Profil |
#14 · Zasláno: 23. 8. 2006, 21:24:00 · Upravil/a: TrueFriend
file_post_contents sice neexistuje, ale napadlo mne to, když jsem si přečetl, že to jde, ale bez odpovědi čím by to mohlo jít, když ne tou funkcí file_get_contents. A vzhledem k tomu, že se tu řeší problém ohledně funkce POST a funkce GET je podobná, akorát funguje jinak, tak mne to napadlo.
Zkusím tedy include... |
||
TrueFriend Profil |
#15 · Zasláno: 24. 8. 2006, 04:57:29
tak jsem se pokoušel dnešní noc strávit kombinováním všech možných parametrů INCLUDE a nefunguje mi to.
Od vyhazování chyby T_STRING počínaje, až po XXX dalších chyb... Poradil by někdo prosím?? Nebo zkusil udělat tu část scriptu, která by to uměla? filtr.php |
||
TrueFriend Profil |
#16 · Zasláno: 24. 8. 2006, 05:44:42
Kámoš mi poradil, žeby se to dalo řešit pomocí session, ale s tím jsem ještě nepracoval, tak neznám možnosti.
Pokud to jde tedy pomocí session, mohl by se o to někdo pokusit? Rád bych se session při té příležitosti naučil. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0