phpbar.de logo

Mailinglisten-Archive

[php] PHP und checkboxen

[php] PHP und checkboxen

k.nordmann_(at)_bbdo-interactive.de k.nordmann_(at)_bbdo-interactive.de
Thu, 9 Dec 1999 08:06:31 +0100


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