Autor | Zpráva | ||
---|---|---|---|
milbr Profil * |
#1 · Zasláno: 30. 7. 2008, 22:32:29
Dobrý večer,
chtěl bych vás poprosit o radu. Už mi to asi moc nemyslí. Vytvářím si jednoduchý redakční systém a narazil jsem na problém při předávání proměnných kde dopředu neznám name inputu. Pro vás to bude asi hračka. Předem moc děkuju Mám dynamicky vypsané inputy pomocí while <input type=\"text\" name=\"$sloupce_db\" /> Jak bych měl v dalším scriptu přijmout data z formuláře. Se známým name by to mělo být $sloupce = $_POST['sloupce']; |
||
bukaj Profil |
#2 · Zasláno: 30. 7. 2008, 22:53:18 · Upravil/a: bukaj
milbr
Se známým name by to mělo být $sloupce = $_POST['sloupce']; Jestli jsem to pochopil správně, pak: foreach ($_POST as $k => $v) { $$k = $v; } Viz Variable variables. |
||
george Profil |
#3 · Zasláno: 30. 7. 2008, 22:54:34 · Upravil/a: george
Zde to nebude problém, pokud již máš $sloupce proměnnou naplněnou hodnotou v integer, mělo by to klasicky pomocí lecjaké funkce třeba mail() převést pod nějakou podmínkou a pokud bude chyba, tak s else to vyústíš.
Jinak bezpečnější je metoda GET si osobně myslím. |
||
milbr Profil * |
#4 · Zasláno: 1. 8. 2008, 00:05:39
Dobrý večer,
bukaj moc děkuji za radu, ale moc to nechápu, chtěl bych vás poprosit o bližší osvětleí george Děkuji za odpověď chtěl bych poprosit o kousek názorného příkladu. |
||
bukaj Profil |
#5 · Zasláno: 1. 8. 2008, 00:18:01 · Upravil/a: bukaj
milbr
moc děkuji za radu, ale moc to nechápu, chtěl bych vás poprosit o bližší osvětleí Jestli jsem to pochopil správně, tobě jde o to, aby se proměnná $_POST['foo'] uložila do $foo, $_POST['bar'] do $bar, $_POST['baz'] do $baz atp., že? foreach ($_POST as $k => $v) { Takže použijeme konstrukci foreach, které prochází celým polem a dokáže nám postupně předávat klíče (uloží se do $k, k jako key) a hodnoty k nim (uloží so do $v, v jako value). $$k = $v; Dále využijeme tzv. proměnných s proměnnými názvy (kvůli tomu ty dva dolary na začátku). Takže pokud máme v $k např. foo, tak přiřazení $$k = $v; je to samé jako $foo = $v;. A protože iterujeme přes celé pole, do $k se dostávají postupně všechny klíče. Takže se tam dostane i bar a pak $$k = $v; je to samé jako $bar = $v;, když je v $k baz, tak zase jako $baz = $v; atd. atp. } A už je akorát potřeba ukončit blok. |
||
milbr Profil * |
#6 · Zasláno: 1. 8. 2008, 00:32:38
bukaj
Moc dík za podrobné vysvětlení. Takto mám vypsané názvy sloupců v db a dále zpracovávám $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { $sloupec = mysql_field_name($fields, $i); echo " <form .......> <textarea name=\"$sloupec\"></textarea> </form> "; A teď bych potřeboval v dalším scriptu přijmout obsah z těch textarea |
||
Časová prodleva: 16 let
|
0