ich habe hier ein Problem mit checkboxen.
Ich habe hier eine Container Klasse (gab es mal als Workshop im Internet)
die es erlaubt bei einem mehrseitigem Formular hin und zur�ck zu navigieren. Das funktioniert mit text und radioboxen auch einwandfrei.
Jetzt komme ich an eine Stelle im Formular wo ich checkboxen verwenden m�chte. Die werte der checkboxen werden weitergegeben allerdings werden die angeklickten checkboxen nicht angezeigt.
PHP-Code:
<?PHP
// Textfelder funktionieren
<input type="text" name="text1" value="<?=$container->fields[text1]; ?>" size="30">
// Radiobutton funktionieren
<input type="radio" name="datei_name" value="<? echo $daten[datei_name] ?>" <? echo $container->fields[datei_name]==$daten[datei_name] ? 'checked':''; ?> >
//Das Problem checkboxen
<input type="checkbox" name="type[]" value="<? echo $row[2] ?>" <? echo $container->fields[type]==$row[2] ? 'checked':''; ?> >
?>
print_r($container->fields); zeigt mir das die eingegebenen Werte der
checkbox auch �bergeben werden. Nur beim zur�ck Navigieren werden die ausgew�hlten checkboxen nicht angezeigt.
Code:
[type] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
PHP-Code:
<?PHP
class c_container
{
var $fields;
var $containername;
var $isSet=0; //Objektstatus
function c_container($name)
{
$this->containername=$name;
if($_SESSION[$this->containername])
{
$this = $_SESSION[$this->containername];
$this->isSet=1;
}
else
$_SESSION[$this->containername]=$this;
}
function setObj($arr)
{
if(is_array($arr))
{
foreach($arr as $key=>$field)
{
$this->fields[$key]= $field;
}
$this->isSet=1;
$_SESSION[$this->containername]=$this;
}
}
function getField($id="")
{
//attribut zur�ckgeben
//wenn id mit�bergeben wird, dann spezielles sonst alle attribute
$att = ($id)?$this->fields[$id]:$this->fields;
return $att;
}
function deleteField($id="")
{
if($id)
{
unset($this->fields[$id]);
$this->isSet=1;
$_SESSION[$this->containername]=$this;
}
}
function clearContainer()
{
//wert reinitialisieren.
$this->fields=array();
$this->isSet=0;
$_SESSION[$this->containername]=$this;
}
function testdelux($cont,$level=0)
{
//testschleife (rekursiv)
$level++;
foreach($cont as $key=>$wert)
{
if(is_array($wert))
$this->testdelux($wert,$level);
else
echo "LEVEL: $level KEY: $key WERT: $wert
";
}
}
}
?>
Einen Kommentar schreiben: