Autor | Zpráva | ||
---|---|---|---|
cybernaut Profil |
#1 · Zasláno: 25. 3. 2013, 10:48:28
Dobrý den,
mám problém s tím když mám název pole v GET a potřebuji s ním dál pracovat. např.: Takže když $_GET['pole'] = 'a' potřebuji to předat funkci jako název pole. $a = array ("bla", "bla", "bla"); $b = array ("bla", "bla", "bla"); $c = array ("bla", "bla", "bla"); vypsatPole($_GET['pole']); |
||
donny Profil |
nechápem celkom otázku.. ale
1. ak chceš predať pole priamo v php do get dá sa to $_GET[test] = &$a; (s využítím som sa ešte nestretol, je to celkom nezmyslel) 2. ak chceš predať $a do GET, tak sa to robí ce odkaz index.php?pole=$a Ak som sa netrafil, tak upresni otázku :) |
||
cybernaut Profil |
#3 · Zasláno: 25. 3. 2013, 11:02:10
No z GET dostanu název pole např 'a' a to potrebuju poslat do funkce (to pole). Když se ale do funkce která pracuje s polem pošle 'a' a né $a vypíše chybu. Potřebuju tedy z 'a' udělat $a.
|
||
Tori Profil |
if ($_GET['pole'] === 'a') vypsatPole($a); elseif ($_GET['pole'] === 'b') vypsatPole($b); |
||
donny Profil |
${a}, resp. v tvojom prípade ${$_GET['pole']}
http://php.net/manual/en/language.variables.variable.php |
||
cybernaut Profil |
#6 · Zasláno: 25. 3. 2013, 11:10:16 · Upravil/a: cybernaut
To mě samozřejmě napadlo taky, ale mám těch polí asi dvacet. Tak jestli neexistuje elegantnější způsob než mít pak dvace if za sebou.
donny: Díky to je přesně ono |
||
Tori Profil |
Tak potom bych použila:
$data = array( 'a' => array(....), 'b' => array(....), ); if (isset($data[$_GET['pole']])) vypsatPole($data[$_GET['pole']]); stranka.php?pole=dbPassword ?
|
||
donny Profil |
#8 · Zasláno: 25. 3. 2013, 11:24:21
som síce rád, že ti to pomohlo ale súhlasím s Tori.. Môže to byť nebezpečné napr. v prípade že to posielaš do databáze (sql injection) alebo v prípade že máš pomocou toho riešenú navigáciu po stránke (File inclusion vulnerability).
Treba to nejakým spôsobom ošetriť.. |
||
cybernaut Profil |
#9 · Zasláno: 25. 3. 2013, 11:27:06
Tak když už jsme u toho neznáte tedy dobrý článek o sql injection?
|
||
donny Profil |
#10 · Zasláno: 25. 3. 2013, 12:03:17
|
||
Časová prodleva: 11 let
|
0