Bojakki
3.01.2010, 11:42:55
tak działa:
if ($_POST['1']==1) $g[1]=2; else $g[1]=1;
if ($_POST['2']==2) $g[2]=2; else $g[2]=1;
if ($_POST['3']==3) $g[3]=2; else $g[3]=1;
a tak nie:
for($in=0; $in<4; $in++){
if ($_POST[$in]==1) $g[$in]=2; else $g[$in]=1;
}
Jak wysyłam formularz to widzi tylko _POST ze zmienna '1', reszty nie:/
Daj konwersję typu na int
for($in=0; $in<4; $in++){
$_POST[$in] = (int)$_POST[$in];
if ($_POST[$in]==1) $g[$in]=2; else $g[$in]=1;
}
Bojakki
3.01.2010, 12:03:07
Nie działa, dalej jest tak samo tzn. wysyła tylko dla pierwszej zmiennej tzn. _POST[1]
Podejrzewałem, że chodiz o te cudzysłowia, które są w działajacym przykładzie bez pętli, ale jednak nie bo jak je usunąłem to dalej działało dobrze:/
czyli wychodzi na to, że pętla robi sie jakby tylko 1 raz anie 3, tak to wygląda.
apropo błędu:
['1']->1; [1]=2; [1]=1;
['2']->2; [2]=2; [2]=1;
['3']->3; [3]=2; [3]=1;
for($in=0; $in<4; $in++){
if ($_POST[$in]==1) $g[$in]=2; else $g[$in]=1;
}
czerwonym kolorem zaznaczony błąd
darko
3.01.2010, 12:10:29
for($in=0; $in<4; $in++){
if ($_POST[(string)$in]==$in) $g[$in]=2; else $g[$in]=1;
}
?
Bojakki
3.01.2010, 12:14:18
Bueh. Ale ze mnie ciota. Dzieki za pomoc!