URL: https://www.overclockers.at/coding-stuff/php_variablen_dilemma_60123/page_1 - zur Vollversion wechseln!
jungs, ich steh auf der leitung - helfts ma, vermutlich isses eh ganz einfach zu lösen...
ich hab ein formular mit mehreren textfeldern, der inhalt wird in ein array gespeichert (also feld1 in $feld[1], feld2 in $feld[2] usw).
diese werden per POST an ein anderes skript übergeben.
die zahl, welches textfeld er behandeln soll, kommt aus der datenbank, wieder in einem array, also zb $myrow[0].
die post-variablen werden über die superglobalen abgefragt, also wieder ein array.
wie sprech ich jetzt ein feld an?
theoretisch: $_POST[feld[$myrow[0]]]
praktisch gehts aber nicht, syntax error.
wo hab ich den knoten im hirn?
$num=$myrow[0];
echo $_POST[feld][$num];
folgendes sollte eigentlich auch funktionieren:
echo $_POST[feld][($myrow[0])];

danke, schön wärs, aber leider spielts das nicht.
bei deinem vorschlag liefert der echo (bei beiden varianten) folgenden output: "Array[1]" - also die zahl geht problemlos, aber $_POST[feld] liefert den output "Array", weil es als array angesprochen werden will.
also, du kannst dir ganz einfach helfen, indem du schrittweise die sub-array's in eigenen variablen speicherst
ps: du solltest nicht
$_POST[feld] sondern
$_POST[feld][($myrow[0])] schreiben 
Zitat von watchoutps: du solltest nicht
$_POST[feld] sondern
$_POST[feld][($myrow[0])] schreiben
Zitatalso, du kannst dir ganz einfach helfen, indem du schrittweise die sub-array's in eigenen variablen speicherst

ich versteh dein problem nicht:
$_POST[feld][$dummy] === INHALT DES FELDES feld[$dummy]
bsp:
$var = $_POST['feld'][$dummy];
ah, check - ich muss den umweg über die zweite variable machen und kann $_POST[feld][$dummy] nicht direkt in einem query verwenden. über einen zweiten dummy funktionierts.
big thx!
edit: bzw mit einem dummy, wenn ich das myrow-array direkt dranhäng, was so auch funktioniert.
nochmals danke!
hmm - k.a. wovon du da redest
was fürn query???
ich glaub ich weiss schon was du meinst - brauchst vielleicht den inhalt vom array in nem mysql-query und verwendest die string-parse-funktion vom php?
tja - dann solltest du's entweder so schreiben:
"TEEEEXXXTTT{$_POST['feld'][$dummy]}GEHHHHHTWEITER"
oder den string unterbrechen und so schreiben:
"TEEEEXXXTTT".($_POST['feld'][$dummy])."GEHHHHHTWEITER"
generell solltest du so einen ausdruck auch in klammer setzen, nur bei einer ganz einfachen zuweisung is es absolut nicht nötig 
ps: http://www.php.net/manual/de/langua....string.parsing 
es sieht jetzt so aus:
.....mysql_query("UPDATE seiten SET position='$dummy' WHERE ID=.....
wobei statt $dummy vorher der variablenausdruck drinnenstand - dieser wird jetzt einfach dem dummy zugewiesen.
ich denk genau das wirds sein - probiers jetzt aber nicht mehr aus, später vielleicht 
jep das isses - für die nachwelt also
auch wennst du's nimmer brauchst 
im double-quoted-string geht ein eindimensionales array noch mit einfachem reinschreiben, aber >1 dimension muss in {} geschrieben werden - siehe oben 
gut zu wissen 
Zitat von atrox$num=$myrow[0];
echo $_POST[feld][$num];
folgendes sollte eigentlich auch funktionieren:
echo $_POST[feld][($myrow[0])];
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026