Variabel mit einem index versehen?

zimmermann2006

Grünschnabel
Hi an alle PHP Profis,

ich habe ein Problem ... (wieder mal *gg*).
Also es geht um folgendes:

in einem Formular frage ich nach einer Eingabe so:

echo "<input type='text' name='artikel$key' size='15' value='$row_artikel[name]'>

die Daten werden ok übermittelt und ich kann dann auf der nächsten Seite so drauf zugreifen:

echo $artikel0;
echo $artikel1;
echo $artikel2;

usw.

So wollte ich das ganze dann machen:

for ($index = 0; $i < $anzahl; $i++)
{
echo $artikel.$index . "<br>";
}

Nur leider kommen dann sehr viele nullen ... also $artikel.$index ergibt immer 0 anstelle von dem wert, der in $artikel0 drinnen ist :-(

Wo oder wie mache ich einen Ddenkfehler? Und vor allem, wie gehts richtig?

Gruß

Felix Zimmermann
 
Also auch mit [] klappt es nicht ... dies ist die ausgabe:

<?php
echo $artikel0;
echo "<br>";
echo $artikel1;
echo "<br>";
echo $artikel2;
echo "<br>";
$artikel0 = $artikel0."1";
echo $artikel;

for ($index = 0; $i < $anzahl; $i++)
{
echo $artikel[$index]. "<br>";
// $gesamtpreis = $gesamtpreis + $brutto[$index];
}
?>


So, die ersten 3 Werte werden angezeigt, doch in der for schleife zeigt er nix an ...
 
Folgendes sollte funktionieren...
PHP:
echo "<input type='text' name='artikel[$key]' size='15' value='$row_artikel[name]'>";

// nach Versenden des Formulars

foreach($_POST['artikel'] as $key => $value)
{
    echo "Artikelkey: ".$key.", Value: ".$value;
}
 
Zuletzt bearbeitet:
leider klappt das auch nicht .... :-(

foreach($_POST['artikel'] as $key => $value)
{
"Artikelkey: ".$key.", Value: ".$value;
}

Ich übergebe das Formular ja auf eine Neue Datei, kann es sein, dass ich da nicht über $_POST drauf zugreifen kann?

Der meldet mit einen Fehler in der foreach () Argumentierung.
 
und wenn du die Artikelanzahl zählst und mit übergibst?
PHP:
<input type="hidden" name="anzahl" value="<?php echo count($artikel); ?>">

... dann kannst du mit einer FOR Schleife nach übergeben die entsprechenden Artikel auflisten.
PHP:
for ($i=0; $i < $_POST['anzahl']; $i++)
       {
        echo $_POST[artikel.''.($i++)] ."<br>";
       }

?
 
Zuletzt bearbeitet:
die anzahl übergebe ich ja auch schon mit. Mit der Schleife hab ich auch kein Problem, ich glaube, wir reden aneinander vorbei ... ich erklärs nochmal:

Also, in einem Form werden Anzahl X Variabeln erstellt.

$artikel0 ... $artikelX

Die gesamtanzahl wird als $anzahl an Seite 2 übergeben, sowie auch die $artikel (welche kein Aray sind, sondern einfach nur durchnummerrierte Variabeln.

$artikel0 Hat als beispiel "Grafikpaket 1 - Text blah" gespeichert.

und

$artikel1 als Beispiel "Grafikpaket basis je Stunde ..."


Bei der ausgabe manuel also echo $artikel0 usw. klappt es ja wunderbar, nur ich muß das ja auch mit der $anzahl mit der for schleife koppeln.

erkennt jemand mein Problem? Geht z.B. sowas:

echo $artikel."echo $index";
 
Also .. ich bin gerade einen kleinen Schritt weitergekommen, also das:

echo "\$artikel".$i;

gibt auf der seite: $artikel0, $artikel1, $artikel2 usw. aus .... aber es soll ja nicht
$artikel0 geschrieben werden, sondern der Inhalt der Variabel ....
 
Bitte formetiere dein PHP-Code immer mit den [ PHP] [/PHP ] (ohne Leerzeichen) Tags.
Zur Frage...
Probier mal folgendes...
PHP:
echo 'Artikel: '.${'artikel'.$i};

Wenn du deine Variablen allerdings über ein Formular (mittels post) übergibst, solltest du so darauf zugreifen...
PHP:
echo $_POST['artikel'.$i];
 
Zuletzt bearbeitet:
Zurück