Werte der aktiven Checkboxen ausgeben!

hieger

Grünschnabel
Hallo Leute,

ich hab ein Formular gemacht, in dem die Datensätze aus einer Datenbank ausgelsen werden und vor dem jeweiligen Datensatz steht eine Checkbox mit dem Wert der ID des jeweiligen Datensatzes.

Jetzt möchte ich, dass der User z.b. 3 Checkboxen auswählen kann und mir folgender Link erzeugt wird:

http://www.domain.at/seite.php?id1="Wert der Checkbox 1"&id2=".."&id3=".."

Leider hab ich keine Ahnung wie ich das anstellen soll. Ich weiß zwar, dass mit echo "$checkboxname" den wert anzeigen kann, aber wie schaff ich es, dass nur die angezeigt werden, die einen wert enthalten.

danke für jede hilfe!
 
Eine CheckBox wird, wenn ich mich recht erinnere, nur dann uebergeben wenn sie auch aktiviert ist. So sollte es dann recht einfach festzustellen sein was angezeigt werden soll und was nicht.
 
reptiler hat gesagt.:
Eine CheckBox wird, wenn ich mich recht erinnere, nur dann uebergeben wenn sie auch aktiviert ist. So sollte es dann recht einfach festzustellen sein was angezeigt werden soll und was nicht.

Naja wenn sie nicht aktiviert ist, enthält sie einfach keinen Wert. Nur leider hilft mir das nicht bei meinem Problem, weil ich den Link nicht generieren kann.

Lg,
markus
 
So wie ich das verstanden habe hast du eigentlich mehrere gleiche Checkboxen oder?

Also im HTML steht das so oder?
HTML:
   <input name="test[]" type="checkbox" id="test" value="checkbox" />
   <input name="test[]" type="checkbox" id="test" value="checkbox" />
   <input name="test[]" type="checkbox" id="test" value="checkbox" />
   <input name="test[]" type="checkbox" id="test" value="checkbox" />

--> Die Checkboxen werden nun als Array übertragen.

Dann kann man einfach so eine Auswertung machen:

PHP:
$checkTest = $_POST['test'];
   
   $link = "http://www.domain.at/seite.php?";
   
   $a=1;
   foreach($checkTest as $check) {
   	$link .= "id".$a."=$check";
  $a++;
   }

Ist vielleicht nicht die schönste Lösung aber so wie ich deine Frage verstanden habe müsste sie funktionieren.
 
Zuletzt bearbeitet:
max hat gesagt.:
--> Die Checkboxen werden nun als Array übertragen.

Dann kann man einfach so eine Auswertung machen:

PHP:
$checkTest = $_POST['test'];
 
$link = "http://www.domain.at/seite.php?";
 
$a=1;
foreach($checkTest as $check) {
	$link .= "id".$a."=$check";
$a++;
}

Ist vielleicht nicht die schönste Lösung aber so wie ich deine Frage verstanden habe müsste sie funktionieren.

Es funktioniert soweit schon gut. Es kommt jetzt folgendes Ergebnis wenn ich jetzt z.b. 2 Checkboxen ausgewählt habe:

http://www.domain.at/seite.php?id1=2&http://www.domain.at/seite.php?id1=2&id2=3&

Bitte um nochmalige Hilfe. Ich kenn mich da viel zu wenig aus :-(

Lg,
markus
 
max hat gesagt.:
Zeig bitte mal deinen Code.

Sehr gerne :-)

PHP:
<form method="POST" action="">
<input name="test[]" type="checkbox" id="test" value="1" />
<input name="test[]" type="checkbox" id="test" value="2" />
<input name="test[]" type="checkbox" id="test" value="3" />
<input name="test[]" type="checkbox" id="test" value="4" />
<p><input type="submit" name="Submit" value="Vergleichen">
<input type="reset" value="Zurücksetzen" name="B2"></p>
</form>
 
<?
$checkTest = $_POST['test'];
$link = http://www.domain.at/seite.php?;
$a=1;
foreach($checkTest as $check) {
$link .= "id".$a."=$check"."&";
$a++;
echo "$link";
} 
?>

Und zu testen ist das ganze auf http://www.handy-tarife.at/test.php

Danke
Markus
 
So müsste es eigentlich funktionieren:
PHP:
<?
 $checkTest = $_POST['test'];
 $link = 'http://www.domain.at/seite.php?';
 $a=1;
 foreach($checkTest as $check) {
 $link .= "id".$a."=$check"."&";
 $a++;
 }
 
 echo "$link";
 ?>
 
Zurück