Autor Zpráva
Pospa
Profil *
Dobrý den,
mám problém, nevim, jak udělat, aby proměna $x1 vzala přes POST z políčka s názvem x1, $x2 z políčka s názvem x2... tady to dole kupodivu nefunkuje, poradil by mi pls někdo??

for($c=1; $c<$pocet; $c++){
$x.$c = $_POST['x'.$c];
}
panther
Profil
Pospa:
co je v proměnné pocet?

zápis $x.$c taky fungovat nebude. Jakmile musíš číslovat proměnné, je něco špatně. Podívej se na pole.
Pospa
Profil *
no, já mám v formuláři neurčitej počet políček (je tam tlačítko na přidávání) a já potřebuju dostat do databáze všechny, $počet je počet políček + 1
mattyZEM
Profil
Pospa:
$počet je počet políček + 1
Stačilo by jednoduše upravit $c na 0.

$pocet=5;
for($c=0; $c<$pocet; $c++){
$x.$c = $_POST['x'.$c];
}
Pospa
Profil *
no, ale to stejně neřeši můj problém s proměnnyma
mattyZEM
Profil
Pospa:
no, ale to stejně neřeši můj problém s proměnnyma
[#2] ti poslal odkaz na funkci, která tvůj problém vyřeší.
Nox
Profil
šmarja...
1) $x je hrozný název pro proměnnou
2)
$pocet = 5;
$x = array();

for($c=0;$c<$pocet;$c++)
  $x[$c] = $_POST["x$c"];

// var_dump($x);
__construct
Profil
Pokiaľ som to správne pochopil tak chceš niečo takéto:
extract($_POST,EXTR_OVERWRITE);

P.S.: Ale na postované dáta je to nebezpečné ..
davias
Profil *
Dalo by se to i takhle :

for($c=1; $c<$pocet; $c++){
$name = "x".$c;
$$name = $_POST['x'.$c];

}

nebo

for($c=1; $c<$pocet; $c++){
${"x".$c}= $_POST['x'.$c];
}


echo $x1 . $x2 ....
Nox
Profil
davias:
a jak s tím potom budeš pracovat? $x1, $x2, $x3...je prostě fuj a na takové věci bylo vytvořeno pole
Joker
Profil
Pospa:
panther a Nox mají pravdu, na tohle je pole.
davias
Profil *
No pracovat se s tím bude špatně. On chtěl ale vědět jak to udělá tak jsem mu odpověděl ... to že to není nejšťastnější řešení je věc druhá :-)
Joker
Profil
davias:
Četl jsem kdysi polemiku, zda když problém tazatele je evidentně jen následek špatného rozhodnutí někdy dříve, je správné řešit problém na který se tazatel ptá, nebo ho upozornit na špatný návrh aplikace.
Typický příklad tady je něco jako Jak v SQL vybrat sloupce začínající určitým textem? Mám v tabulce sloupce jmeno_1 až jmeno_n, nevím kolik jich celkem je a chci je všechny vybrat - je správné řešit to na co se tazatel ptá, tj. jak vybrat ty sloupce, nebo tazatelův skutečný problém, tj. že nejspíš ta databáze je úplně špatně navržená?

Jsem zastáncem toho druhého přístupu, raději než komplikovaně řešit problémy, které by při správném návrhu vůbec neexistovaly.
davias
Profil *
Joker: Ano to je fakt. Mohl jsem pod svůj příspěvek dodat, že to není vhodné řešení.
Majkl578
Profil
davias:
Mohl jsem pod svůj příspěvek dodat, že to není vhodné řešení.
Spíš rovnou říct, jak by vypadalo.

Joker:
I já jsem většinou (pokud to nenadělá více škody než užitku) zastáncem toho druhého.

Pospa:
Řešení s využitím polí:
<form method="post">
<input type="text" name="x[0]">
<input type="text" name="x[1]">
<input type="text" name="x[2]">
<input type="submit">
</form>
<?php

var_dump($_POST['x']); //vypsání
$_POST['x'][0]; //přístup k prvku

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0