Mehrdimensionales Array nach Post auslesen - print_r liefert Ergebnis - echo nicht.

dwex

Erfahrenes Mitglied
Hallo Leute,

ich habe folgenden Musterquelltext zum testen.
PHP:
<?php

if($_POST) {
echo "<pre>";
print_r($_POST);
echo "</pre>";
echo "<br><br><br>";


foreach($_POST['artikel'] as $key=>$value) { 

    echo $_POST['artikel'][$key]['preis']."<br>";

}

}

echo '
<form name="asdf" method="post">
<input type="text" name="artikel[25][\'name\']" size="8" value="" /><br>
<input type="text" name="artikel[25][\'preis\']" size="8" value="" /><br>
<input type="text" name="artikel[25][\'lager\']" size="8" value="" /><br>
<br>
<input type="text" name="artikel[16][\'name\']" size="8" value="" /><br>
<input type="text" name="artikel[16][\'preis\']" size="8" value="" /><br>
<input type="text" name="artikel[16][\'lager\']" size="8" value="" /><br>
<input type="submit" value="senden" />
</form>';

?>
Wenn ich das Formular sende wird mir über print_r in Zeile 5 das mehrdimensionale Array korrekt zurück gegeben.

Greife ich nun wie in Zeile 12 per echo auf diese Daten zu dann erhalte ich keine Ausgabe.

Ich bin verzweifelt und kann den Fehler nicht finden - könntet Ihr mir bitte behilflich sein?
Vielen dank für euere Bemühungen im voraus!
 
Auch $value['preis'] funktioniert nicht.

Das wäre dann das Array welches mit print_r rauskommt:
Code:
Array
(
    [artikel] => Array
        (
            [25] => Array
                (
                    ['name'] => name 1
                    ['preis'] => preis 1
                    ['lager'] => lager 1
                )

            [16] => Array
                (
                    ['name'] => name 23
                    ['preis'] => preis 23
                    ['lager'] => lager 23
                )

        )

)
 
Du hast im Formular den Inddex preis in ' gesetzt. Darum heisst der key nicht preis, sondern 'preis' (Die Anführungszeicvhen sind keine Begrenzung, sondern Teil des Keys)
PHP:
echo $value['\'preis\'']."<br>";

Oder du nimmst die ' im Formular raus
PHP:
echo '
<form name="asdf" method="post">
<input type="text" name="artikel[25][name]" size="8" value="" /><br>
...
 
Zurück