Formular, Werteübergabe
Jörg
- cgi
Hallo!
Ich möchte eine frei wählbare Anzahl von Formular-Checkboxen erzeugen:
for ($i=0,$i<5,$i++) {
$box = "$box" . "<input type="checkbox" name="$i" value="1">";
}
Wenn ich nun das Formular abschicke möchte ich es mit dem nächsten CGI-Script bearbeiten:
Leider funktioniert folgendes nicht:
for ($i=0,$i<5,$i++) {
$i = param("$i");
}
Mein Log-File sagt: Can't call method "" without a package or object reference.
Danke für eure Hilfe!!!
Schöne Grüsse,
Jörg
moin,
Leider funktioniert folgendes nicht:
for ($i=0,$i<5,$i++) {
$i = param("$i");
}
Mein Log-File sagt: Can't call method "" without a package or object reference.
CGI.pm richtig eingebunden? http://i-netlab.de/cgipm/cgi.htm
Gruss, Rolf
Hi,
for ($i=0,$i<5,$i++) {
$i = param("$i");
die Schleifenvariable kann in dieser verändert werden, und genau das machst Du hier. Bist Du Dir über die Konsequenzen und Effekte im Klaren?
Cheatah
Hallo,
die Schleifenvariable kann in dieser verändert werden, und genau das machst Du hier. Bist Du Dir über die Konsequenzen und Effekte im Klaren?
Was chetah sagen will ist, es wäre besser wenn du den Wert des Parameters in einer anderen Variablen speichern würdest:
for ($i=0,$i<5,$i++) {
$parameter{$i} = param($i);
}
Wenn ich mir deine erste schleife ansehe ...
for ($i=0,$i<5,$i++) {
$box = "$box" . "<input type="checkbox" name="$i" value="1">";
}
... ist param($i) eigentlich immer eine Zahl! Nun kann ja perl bekanntlich verdammt viel tricksen, aber ob Bezeichner, die mit einer Zahl beginnen, oder überhaupt nur eine Ziffer sind, erlaubt sind, ist sehr zu bezweifeln! Wie rufst du die Variable dann auf? mit $1, $2, ... $5? Die sind ja bekanntlich für andere Zwecke reserviert!
Nimm also entweder ein Feld:
$checkboxes[$i]
oder einen Hash (falls $i nicht nur ziffern sondern auch Buchstaben sind):
$checkboxes{$i}
Ach ja, und natürlich muss "use CGI" irgendwo unter "#!/usr/bin/perl -w" stehen, wenn du die param()-Funktion verwenden willst!
lg Bernhard
Hallo!
Vielen Dank für eure Hilfe!!!
Schöne Grüsse,
Jörg