checkbox überprüfen

Bigbutcher

Erfahrenes Mitglied
Hiho
ich bins mal wieder :P

hab ein kleines Formular erstellt, wo man Nachrichten an andere verschicken kann. Die Empfänger sollen per Checkbox wählbar sein. aber irgendwie wird da nix übergeben...

Hier der Quelltext wo man die Nachricht eingibt...

$abfrage = "SELECT * FROM intern ORDER BY `Benutzer` ASC";
$ergebnis = mysql_query($abfrage) or die (mysql_error());
$a = 1;
while($row = mysql_fetch_object($ergebnis))
{
echo "<tr><td>";
echo "<input type=\"Checkbox\" name=\"Empfaenger[$a]\" value=\"";
$Benutzer2 = $row->VName;
$Benutzer1 = $row->Benutzer;
$E[$a] = $Benutzer2 ." ". $Benutzer1;
echo $E[$a];
echo "\">";
echo "$row->Benutzer";
echo ", ";
echo "$row->VName";
echo "</td></tr>";
$a = $a + 1;
}
session_register("$a");
echo "<tr><td><input type=\"Submit\" name=\"\" value=\"Abschicken\"></td></tr></form>";


soweit so schlecht.
und nu das Formular dass die Eingaben in die DB eintragen soll.
Falls man mehrere Felder gewählt hat soll die Nachricht haargenau nur mit einem neuen Empfänger in die DB eingetragen werden.
Hab mir das so gedacht.

for ($x=1; $x<=$a; $x++)
{
if ($Empfaenger[$x] == true)
{
echo $E[$x];
$eintrag = "INSERT INTO Community (NText, Sender, Empfaenger, gelesen) VALUES ('$Nachricht', '$Benutzer', '$E[$x]', '0')";
$eintragen = mysql_query($eintrag) or die (mysql_error());
}
}
session_unregister("$a");

dieses echo $E[$x]; hab ich auch schon zum debuggen benutzt. Es wird mir nichts ausgegeben. Keine Fehlermeldung und kein Eintrag in die DB...

MfG

BB
 
was mir mal als erstes auffällt, ist dein Versuch eine Session-Variable zu registrieren. Da musst du das führende $ weglassen.
Also session_register("a") statt session_register("$a").

hier mal ein Gegenvorschlag wie man es machen könnte:

das Formular dynamisch erstellen:

$rs = mysql_query ("SELECT id, name, vorname FROM tabelle");
while ($row = mysql_fetch_object($rs)) {

echo "<input type=checkbox value=\"$row->id\" name=benutzer[]>";

}

Auswerten mit foreach:

foreach ($HTTP_POST_VARS["benutzer"] as $val) {
echo $val; // hier kommt dein Insert rein
}

Ich hoffe, das hilft dir weiter.

Schönen Abend
yson
 
Zurück