checkboxen zum 1000 mal aber diesmal für immer und ewig ^^

ray123

Grünschnabel
Hi ich will folgendes machen: etwa 20 Checkboxes (VERSCHIEDEN d.h. sie muessen alle da stehen,weil dahinter eine erklärung dazu kommt)

wenn jeweils eine angeklickt ist muss der wert DIESER checkbox 1 sein wenn nicht 0
am schluss muss dan sowas rauskommen 1.0.0.1.0.1.1.1.0.1.0 ...
wie checkboxes an sich gehen weiss ich aber das blick ich nich ... habs im moment so aber so gehts nicht!
PHP:
<form action=\"post_rights.php?ray=true\" method=\"post\">
<b>News</b><br>
<input type=\"checkbox\" name=\"e[]\" value=\"1\">posten<br>
<input type=\"checkbox\" name=\"e[]\" value=\"1\">l&ouml;schen<br>
<input type=\"checkbox\" name=\"e[]\" value=\"1\">editieren<br>
und in der nächsten action das:
echo "$e[0].$e[1]"; etc

kommt aber das:
Warning: Undefined index: 1 in ...

Wäre nett wenn ihr mir helfen würdet ..
THX
ray
 
wenn jeweils eine angeklickt ist muss der wert DIESER checkbox 1 sein wenn nicht 0

das geht nicht ....

wenn eine checkbox nicht angeklickt ist wird KEIN wert übertragen ..

wenn du wie in deinem code mit einem var namen arbeiten möchtes für die checkbox musst du schon verschiedene werte nehmen...

von 1 bis 20 in deinem fall ..
 
Zuletzt bearbeitet:
SO ich habs jetz so:

PHP:
<input type=\"checkbox\" name=\"e[]\" value=\"1\">posten<br>
<input type=\"checkbox\" name=\"e[]\" value=\"2\">l&ouml;schen<br>
<input type=\"checkbox\" name=\"e[]\" value=\"3\">editieren<br>
... immer weiter die value erhöht

und dann : das hier

PHP:
for($i = 0; $i < 21; $i++)
{

if (isset($e[$i])) {$r = 1; echo "$r.";}

elseif(!isset($e[$i])) {$r = 0; echo "$r.";}
}

funzt auch so weit ganz gut ...nur:
er macht alle 1en und DANN alle 0en
er sollte aber sowas wie 1.0.0.1.0.0.1 machen, sortiert aber sozusagen ... obwohl das unlogisch is und dadurch kommt dann das raus : 1.1.1.1.1.1.1.0.0.0.0

wär nett wenn ichr auch noch ne lösung dafür hättet ... thx :)

raY
 
$out = str_repeat("0.1",21);

for ($lo=0;$lo<sizeof($e);$lo++) {
$pos = $e[$lo] * 2 - 2;
$out[$pos] = "1";
}

echo $out;

:-)
 
$out = str_repeat("0.",21);

echo "box menge = ".sizeof($e);
for ($lo=0;$lo<sizeof($e);$lo++) {
echo "E: ".$e[$lo];
$pos = $e[$lo] * 2 - 2;
$out[$pos] = "1";
}

echo $out;

mach mal den :

bei boxmenge muss die anzahl der checkboxen kommen die angeklickt sind.
wenn nicht = globals in phpini ist off

die werte müssen mit E:1 usw rauskommen ..

kontrollier das doch bitte mal
 
Zurück