ugrás a tartalomhoz

array scalar value

suniownage · 2008. Júl. 5. (Szo), 11.29
Sziasztok!

Egy online kosarat akarok csinalni. Ugy csinaltam, hogy van egy termeklist.php itt vannak a termekek, ezeket lehet addolni a kosarba ok. ez mukodik. bemegyek a kosar.php-be itt szepen kiiratom mysql-bol azokat amiknek a kodszamat beraktam a kosarba.

azt akarom megcsinalni, hogy minden termek mellett van egy input text, es ide a darabszamot kell beirni(alapertelmezett 1).

nah meg is csinaltam hogy berakja sessionba meg minden vigye at tömbben, de nem akar mukodni.

ugy nez ki a dolog, hogy a vasarlo ellenorzi, hogy minden termek kell neki ami ott van. mindegyikhez kulon kulon odairja, hogy hany darabot akar, es submitolja, amikor is atlep a megrendeles_veglegesitese.php-re, itt majd adatokat kell megadni stb

az a problemam, hogy amikor atirom a darabszamot, a kovetkezo =megrendeles_veglegesitese.php oldalon nem ad ki eredmenyt, mert ezt irja ahany sor van: Warning: Cannot use a scalar value as an array in....

ha van ötlet, akkor bedobom a forraskodokat:)

üdv
 
1

scalar value

vbence · 2008. Júl. 5. (Szo), 11.36
A generált html formban milyen néven (name=?) jelennek meg a szóbanforgó input mezők?

Más: miért a sessionben tárolod a darabszámokat, ha a kosár maga sqlben van? (Miért nem a termék id-je mellett egy másik mező jegyzi meg)?
2

sclara value

suniownage · 2008. Júl. 5. (Szo), 11.39
Szevasz:) a kosár nem sqlben van, hanem sessionben vegulis ott tarolodik tömbben, csak sqlbol olvasom ki neki a kodszam azonositon kivul tobbi adatot sqlbol. ha sql-ben tarolnam a darabszamot, akkor ha egyszerre tobben rendelnének, csak káosz lenne belole.
3

káosz

vbence · 2008. Júl. 5. (Szo), 11.41
Hát.. ezzel nem igazán értek egyet :) De a name=? -es kérdésre nem válaszoltál...
5

kosár SQLben...

janoszen · 2008. Júl. 5. (Szo), 11.44
Hááát... mondjuk ha lenne egy oszlop, amiben a kedves felhasználó neve lakik, akkor azért nem tudna összekeveredni, ugye?
4

Google?

janoszen · 2008. Júl. 5. (Szo), 11.41
Mindig meglepődök, amikor egy ilyen kérdés felmerül. Egyszerűen csak be kellene másolni a Googleba a hibaüzenetet, kicsit utánalvasni és rájönni, hogy még magyarul is leírták mit jelent: számot próbálsz tömbként használni valahol a kódban. Nem bántani akarlak, csak ... szal probléma megoldására való hajlandóság.

Egyébként sokat segíthet a probléma megoldásán, ha föleszel egy debuggert (Xdebug vagy Zend Debugger) és végiglépkedsz a kódon, akkor látod, hogy hol hal el a dolog és mikor minek az értéke.
6

google. :D

suniownage · 2008. Júl. 5. (Szo), 11.46
koszi, hogy valaszoltal, tudom hogy nem akarsz bántani, csak megmondom oszinten most kezdtem phpval foglalkozni es eleg kezdo vagyok. felrakok egy debuggert es megnezem hogy mi lehet kosz a tanacsot, majd meg szolok hogy mivan :)
7

Kezdőknek

janoszen · 2008. Júl. 5. (Szo), 13.00
No, akkor hogy legyen min elindulni:

A PHP egy gyengén típusos nyelv, azaz automatikusan megpróbál konvertálni a típusok között (pl stringet int-té, stb). Nyilván egy számot nehéz tömbként kezelni és fordítva, ezért a warning. Ez abból eredhet, hogy a programlogikában valami nincs átgondolva. :)
8

Errrror

suniownage · 2008. Júl. 6. (V), 10.13
itt irja a hibat, de nemvagom mi mlehet.

if (isset($_POST['darabtomb']) && !empty($_SESSION['kosar'])) {
for ($i=0;$i<count($_SESSION['kosar']);$i++) {
$_SESSION['kosar'][$i]['darabszam']=(int)$_POST['darabtomb'][$i];
}
}
static $j=0;
$j++;

ezutan ezzel iratnam ki:
$_SESSION['kosar'][$j]['darab']

de nem megy valamiert
9

darab != darabszam

zila · 2008. Júl. 7. (H), 16.10
Izé... lehet, hogy csak ide került be rosszul, de feljebb ['kosar'][$i]['darabszam'] van, aztán kiírásnál meg csak ...['darab']

ja, meg van kódszinező a fórumban, használd, sokkal tisztább, szárazabb érzés úgy olvasni a kódrészeket mint így behányva...