hilfdirselbst.ch
Facebook Twitter gamper-media
Anonym
Beiträge: 22827
27. Mär 2003, 19:43
Beitrag #1 von 2
Bewertung:
(431 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

array problem


Ich habe ein Array das mit $HTTP_POST_VARS erstellt wurde, es beinhaltet daten, die der user mit checkboxen ausgewählt hat. Ich kann das array mit var_dump($arrayname) auslesen, es steht was drinnen, aber wenn ich das Array z.B mit $arrayname[0] oder $arrayname[$i] ($i ist zähler von schleife) anspreche, kommt die Fehlermeldung Notice: Undefined offset: 0 in D:\..... on line 52 auch wenn ich es mit $i anspreche. Tut so, als wär das Array leer.
Was kann das sein? Komm nicht drauf.

mfg Birgit
Top
 
X
Miro Dietiker
Beiträge: 699
29. Mär 2003, 00:12
Beitrag #2 von 2
Beitrag ID: #29711
Bewertung:
(431 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

array problem


Hi Birgit!

Nach heutigem Standard ist im PHP.ini die Variable "register globals"
ausgeschaltet. Das heisst, wird via POST in einem Formular die
Variable "a" übertragen, ist sie via $a nicht erreichbar, sondern
nur über $HTTP_POST_VARS['a']

Ist dies ein Array und du willst auf die enthaltenen Elemente
zugreifen, muss man sich einfach getrauen, weitere Ebenen
hinzuzufügen. So wäre das i-te element im geposteten Array "arrayname"

$HTTP_POST_VARS['arrayname']

Wichtig beim Arrayzugriff ist:
- Spaltennamen immer in '' oder "" schreiben!
Zwar geht es auch häufig anders, jedoch kann es kollidieren
mit Variablennamen oder Konstantennamen.. dadurch würden die
Spaltennamen durch den Wert ersetzt..
- Indizes müssen natürlich ohne String-Einleitung geschrieben
werden!

Ein weiteres Problem kommt mir da gerade in den Sinn:
Will man zum test schnell die Variable $a ausgeben, ist es mir
schon passiert, dass ich einfach <?PHP $a; ?> geschrieben habe!
Der PHP-Interpreter motzt auch nicht, jedoch wird nichts ausgegeben
da der befehl echo fehlt! <?PHP echo $a; ?> ist natürlich korrekt,
jedoch kann in der schnelle da durchaus mal das echo vergessen gehn.

So sollte jedenfalls alles klappen :)

GrEeZ: Miro Dietiker
als Antwort auf: [#29546] Top