Dynamisches Formular Javascript/PHP - Dringend

zimmermann2006

Grünschnabel
Es geht um folgenden Beitrag:
http://www.tutorials.de/forum/javasc...weitern-2.html

Soo ... ich kann eigentlich nur ein bissel PHP allerdings habe ich von Java absolut null plan. Es geht bei mir darum, ich bastele an einem Online Programm, womit ich Artikel aus einer Datenbank untereinander auflisten kann, so viele wie ich möchte. Und das alles via Formular verarbeiten. Die DAtei sieht so aus:

Code:
<script type="text/javascript">
<!--
function clone_this(objButton)
{
if(objButton.parentNode)
{
tmpNode=objButton.parentNode.cloneNode(true);
objButton.form.appendChild(tmpNode);
for(j=0;j<objButton.form.lastChild.childNodes.length;++j)
{
if(objButton.form.lastChild.childNodes[j].type=='text')
{
objButton.form.lastChild.childNodes[j].value='';
break;
}
}
objButton.value="entfernen";
objButton.onclick=new Function('f1','this.form.removeChild(this.parentNode)');
}
}
//-->
</script>


</head>
<body>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<input type="submit" name="submit" value="send">

<?php
include("../zugriff.inc.php");
$sqlsuche = "SELECT * FROM artikel ORDER BY name";
$resultsuche = mysql_query($sqlsuche);

echo "<div>";
echo "Artikel: <select name='textfeldname[]'>";
echo "<option value='Artikel'>Artikel</option>";
while ($rowsuche = mysql_fetch_assoc($resultsuche))
{
echo "<option value='$rowsuche[name]'>$rowsuche[name]</option>";
}
echo "</select>";
echo "<input type='button' value='noch ein feld' onclick='clone_this(this)'>";
echo "</div>";
mysql_close();
?>
</form>

<?php
if (!empty($_POST["submit"]))
{
include("../zugriff.inc.php");
include("../daten.inc.php");

echo "Das wurde ausgewählt: " . $_POST['textfeldname[]'];
...

Sooo .... hinter dem "Das wurde ausgewählt" steht leider nix
Da ist meine Frage, wie kann ich drauf zugreifen und vor allem, wenn ich sagen wir mal 6 Felder ergänzt habe, dann habe ich ja insgesamt 7 Felder ... wie komme ich an die menge (Zahl 7) dran und wie kann ich auf die 7 Felder im einzelnen zugreifen?
 
Lasse mal die Klammern weg hinter dem Namen, diese gehören aus PHP-Sicht nicht zum Namen, sondern bewirken lediglich, dass die Formularfelder als Array übermittelt werden.

Die Anzahl der übermittelten Felder erfährst du über
Code:
count($_POST['textfeldname']);
 
Hi, erstmal danke für die schnelle Antwort.

Also so sieht die Zeile nun aus:

Code:
     echo count($_POST['textfeldname']);
     echo "<br><br>Das wurde ausgewählt: " . $_POST['textfeldname'];

Und das kommt als Ergebniss (Habe nur 1 Ausgewählt):

1

Das wurde ausgewählt: Array

Also das mit dem zählen klappt :-) *freu*

Nur das mit dem Zugriff auf den Datensatz nicht.
Also bei der Eingabe wird ja beim "select" bei der "option" der value übermittelt, muß ich da sowas wie .name oder so dranhängen? oder wie geht das genau?
 
da ein Array übermittelt wurde, musst du seine Elemente auch entsprechend ansprechen:

PHP:
foreach($_POST['textfeldname'] as $key => $value)
  {
    echo ($key+1).'.)'.$value.'<br>';
  }
 
Ahhh ... nun klappt es. über die for schleife geht das ja richtig elegant :-)
Nachdem ich das nun laß, hatte ich auch noch ne idee, das habe ich nun auch mal probiert, geht auch, sind aber um einiges mehr zeilen code....
Ich dachte erst an: echo "ausgewählt: " . $textfeldname[0] . "<br>"; und das ganze in schleife wo ich vorher über count ne zeile machen wollte....

Naja, ich bin nun echt happy, dass es nun klappt und sage nochmal diesem Forum DANKE !!

So schnell und vor allem gut wie mir hier geholfen wurde, habe ich es bislang nirgends erlebt. bei selfhtml im forum, bekommt man ja wenn überhaupt nur naja bemerkungen ...
 

Neue Beiträge

Zurück