Hallo Bernd,
was Gunnar geschrieben hat, ist nicht der Grund dafür warum nichts passiert. Dazu halte Dich an encoders Beitrag.
Trotzdem hat Gunnar natürlich recht. Man darf die Funktion von name und id bei einem Formular-Element nicht verwechseln. Die ID dient zur Identifikation innerhalb der HTML-Seite und muss deshalb eindeutig sein, und der name wird verwendet, um den Wert zu posten. Übrigens: Den Zeichendreher in rechnugn
hast Du gesehen?
Eine Eindeutigkeit des name ist EIGENTLICH nötig, weil man ja die geposteten Werte irgendwie einsammeln muss ohne dass sie sich gegenseitig überschreiben, aber hier hilft PHP mit und ermöglicht mit der [] Schreibweise, dass die Werte zu einem Array zusammengefasst werden. Man muss nur sicherstellen, dass es nicht zu Verschiebungen bei den Indizes kommt (siehe unten).
Die Mühe der eindeutigen ID kannst Du vermeiden. Eine ID ist nicht zwingend nötig, um ein Label zuordnen zu können. Statt
<label for="foo">Name:</label>
<input type="text" id="foo">
kann man auch schreiben:
<label><span>Name:</span>
<input type="text" id="foo">
</label>
Wenn Label und Input übereinander stehen sollen, gerne auch div statt span. Aber jedenfalls brauchst Du dann keine eindeutige ID.
Was meinte ich mit der Verschiebung? Schau dir dieses Form an:
<form method="POST" action="myform.php">
<fieldset><legend>Foo 1</legend>
<label>Name: <input type="text" name="name[]"></label>
<label>Vorname: <input type="text" name="vorname[]"></label>
</fieldset>
<fieldset><legend>Foo 2</legend>
<label>Name: <input type="text" name="name[]"></label>
<label>Wohnort: <input type="text" name="wohnort[]"></label>
</fieldset>
</form>
Das Problem ist hier: Der Name tritt in beiden Fieldsets auf, die anderen beiden je einmal. Postest Du das zurück, bekommst Du zum Beispiel dies:
name[0] = "Frisch";
name[1] = "Mustermann";
vorname[0] = "Fritzchen";
wohnort[0] = "Musterdorf";
Du siehst das Problem: Musterdorf gehört zu Mustermann, hat aber nicht den gleichen Index. Ursache ist, dass der Ort im ersten Fieldset nicht vorkam. Bei derartigen Formularen kannst Du nicht mit [] arbeiten, dann musst Du den Index mit ins HTML setzen.
Rolf
sumpsi - posui - clusi