ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / PHP / MySQL Probleme / Checkboxen


Seite 1 von 1

opiumuser schrieb am 22.05.2003 um 15:48 Uhr

Hallo@all!
Ich hab ein Probelm mit Checkboxen. Auf einer Seite werden aus einer Tabelle heraus Zeilen erzeugt vor denen jeweils eine Checkbox steht.
Die Checkbox bekommt dann den namen

<input type='checkbox' name='Name$daten[ID]' value='$daten[$varM05]'>

Damit hat sie dann name=Name1 und value = 1.

Diese Daten werden mit einem Send Button zu einer anderen Seite weitergeschickt und sollen dort nun verarbeitet werden.

Hier setzte ich dann:

$Name1 = $Name1

damit ich diese Variable wieder weiterverwenden kann.

Nun mein Problem:
Ich möchte die Variblen dynamisch zuweisen lassen.

for($i=1; $i <=$anzahl; $i++)
{
$Name.$i = $Name.$i;

Die Anzahl entspricht der Anzahl der Checkboxen.

Ziel:Wenn ich nun 500 als Anzahl habe muss ich nicht alle manuell setzen.
Hat jemand eine Idee, denn so funktioniert die Sache leider nicht:

Notice: Undefined variable: Name in...

Oder weiß jemand eine bessere Möglichkeit? eventuell mit arrays?

Schon vielen Dank!

gruß
markus

Jonas schrieb am 22.05.2003 um 15:58 Uhr

<input type='checkbox' name='Name[$daten[ID]]' value='$daten[$varM05]'>

$name = array();
for($i=1; $i <=$anzahl; $i++)
{
name[$i] = $name[$i];
}

wobei ich mich wunder, warum du die variable mit sich selbst gleichsetzt, eigentlich muesstest du sie ueber $post[] holen, also folgendermassen:

$name = array();
$name = $_POST['name'];
for($i=1; $i <=$anzahl; $i++)
{
name[$i] = $name[$i];
}

opiumuser schrieb am 26.05.2003 um 12:22 Uhr

Ok danke schon mal hat geklappt...

Aber wie meinst du das jetzt nochmal mit dem gleichsetzen.
Mach das bisher immer so wenn eine Variable weitergeben wird, dass ich sie in der verarbeitenden Datei dann erst verwenden kann wenn ich sie mit sich selber gleichsetzte - hab ich mal irgendwo gesehn. Gibt es da eine korrektere Möglichkeit? Also dass ich sage

$Name = $_POST['Name'];

werden so variablen korrekt übergeben?

nochmals danke

gruß
Markus

Jonas schrieb am 26.05.2003 um 18:07 Uhr

bei register_globals auf on ist die var immer sofort vorhanden.

bei register_globals auf off musst du sie folgendermassen holen:

$varname = $_GET['varname']

oder

$varname = $_POST['varname']

oder

$varname = $_COOKIE['varname']

oder

$varname = $_SERVER['varname']


je nachdem, wie du sie uebergibst

neon schrieb am 27.05.2003 um 19:40 Uhr

wenn ich es richtig verstanden habe reicht dir doch völlig die id um eindeutig etwas fest zu stellen:

<input type="checkbox" name="checkbox_array[$daten[ID]]" value="..." />

dann kannst du ja einfach machen

while(list($id, $value) = each($_REQUEST['checkbox_array'])){
 //... was auch immer du mit den daten machen willst
}

weil dann hast du ja ein array namens checkbox_array und jeder key ist eine id und zwar die für einen datensatz.


mfg
neon

Seite 1 von 1