Mailinglisten-Archive |
ich habe ein Formular mit mehreren checkboxen. ... Daher habe ich allen den gleichen Namen (z.B. $checkbox und verschiedene Values gegeben. ... Ich bekomme leider immer nur den Wert der letzten Checkbox zurück. Ich habe das so geloest: Es gibt diese Funktion, die einen String zurückliefert, in dem alle Werte durch Komma getrennt enthalten sind. function decode_multiple($name) { $alles = " ".getenv(QUERY_STRING); $werte = ""; while($pos1 = strpos($alles, $name."=")) { $alles = substr($alles, $pos1+strlen($name)+1, strlen($alles)-$pos1+1); if (strlen($alles)) { $pos1 = strpos($alles, "&"); if (strlen($pos1)) $werte .= substr($alles, 0, $pos1).","; else $werte .= $alles.","; } } if ($werte) if ($werte[strlen($werte)-1] == ",") $werte = substr($werte, 0, strlen($werte)-1); return $werte; } Dann gibt es diese Funktion, die einen bestimmten Wert aus diesem String auslesen kann function get_csv_field($csv, $fnr, $tz) { $cnt = 1; $temp = $csv.$tz; while ($cnt <= $fnr) { $offs = strpos($temp, $tz); $retv = substr($temp, 0, $offs); $temp = substr($temp, $offs+1); $cnt++; } return $retv; } Der Aufruf wäre dann wie folgt: $tmp = decode_multiple("checkbox"); $i = 1; while ($val = get_csv_field($tmp, $i, ',')) { ! dein code ! $i++; } ff Klaus
php::bar PHP Wiki - Listenarchive