Thread Problem mit Schleife (19 answers)
Opened by anamollo4music at 2013-03-19 20:06

Linuxer
 2013-03-19 22:16
#166434 #166434
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Code: (dl )
    print "    <td><form><input type='text' size='10' name='beschreibung'.$i></form></td>";


Wenn Du das so im Code stehen hast, ist das meiner Meinung nach falsch.

Zunächst mal das auffälligste:
Wenn das Input-Feld den Namen "beschreibung" gefolgt von der Nummer in $i erhalten soll, dann wird das so wohl nicht klappen. Hast Du Dir mal den generierten HTML-Text angesehen?
Das, was Du da zeigst, dürfte etwas dieser Art generieren:
Code: (dl )
    <td><form><input type='text' size='10' name='beschreibung'.1></form></td>"

Ich glaube nicht, dass das das von Dir gewünschte ist.
Der Punkt-Operator arbeitet nicht in String-Literalen!

Ich würde dafür entweder ein Template-System verwenden; oder wenn das nicht geht, wenigstens die CGI-Methoden, um das HTML generieren zu lassen. Wenn es händisch gemacht werden soll, dann solltest Du es wohl besser so schreiben:

Code: (dl )
print "    <td><form><input type='text' size='10' name='beschreibung${i}'></form></td>"


Die geschweiften Klammern sind nicht zwingend erforderlich; aber aus zwei Gründen habe ich sie eingebaut:
1. Sollte man der Name hinter der Variable erweitert werden, so ist die Variable klar gekennzeichnet
2. Die (kurze) Variable geht nicht im Text unter, sondern sticht durch die Klammern ein wenig hervor

Außerdem scheinst Du jedes Input-Feld in ein eigenes Formular gebettet zu haben. Warum?
Normalerweise hat man für ein Formular auch nur ein form-Tag. Dieses steht zu Beginn des Formulars.
Last edited: 2013-03-19 22:41:37 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Problem mit Schleife