Achim: Mehjrauswahl bei checkboxen per CGI verarbeiten

Beitrag lesen

Danke, aber ich möchte das in ein bestehendes Skript einbauen und deshalb eigentlich weder das CGI-Modul noch PHP benutzen. Das muss doch auch noch anders gehen, oder?

Normalerweise lese ich die übergebenen Werte immer folgendermaßen aus:

Abspeichern in der Variable $buffer

if ($ENV{'REQUEST_METHOD'} eq "GET") {
    $buffer = $ENV{'QUERY_STRING'};
} else {
    read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}

Aufteilen des Datenstrings in einzelne Teile.

@nvpairs = split(/&/,$buffer);
foreach $pair (@nvpairs) {
    # Ich decodiere jedes der Teil
    ($name, $value) = split(/=/, $pair);
    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    $in{$name} = $value;
}

Variablen auslesen

$i = $in{'variablename'};

Wenn ich das mit mehrfachausgewählten Checkboxen mache, bekomme ich wie gesagt immer nur den letzten Wert. Was muss ich ändern?