checkboxen disabled und $_POST

Jennesta

Erfahrenes Mitglied
Hey,
ich habe ein Formular gemacht, indem ich in einem auswahlfeld etwas auswählen kann und je nachdem was es ist wir eine Checkbox aktiviert bzw disabled.
Wenn ich nun das Formular abschicke, dann prüfe ich wie mit allen anderen $_POST-Elementen, ob sie vorhanden sind.
Mit meiner Checkbox hat das nicht funktioniert, da aber dort keine "bösen" Dinge eingegebenw erden können, habe ich sie aus dem isset(...) herausgenommen.
Nun habe ich aber weiterhin das Problem, dass der Value der Checkbox nicht übertragen wird.
Weiß da einer vielleicht wo das Problem liegen könnte, bzw hat sowas selbst schonmal gemacht? Wäre echt dankbar dafür.

mfg Jennesta
 
Hallo!

HTML:
Code:
<input type="checkbox" name="checky[]" value="checkBoxEins" />
<input type="checkbox" name="checky[]" value="checkBoxZwei" />

PHP:
Code:
foreach ($_POST["checky"] as $element)
{
       if (strlen ($element) > 0)
              echo $element ." is checked.<br />";
}

Ich hoffe, ich habe dich richtig verstanden und konnte dir helfen :) ...
 
Ich wollte nur Fragen warum über ne checkbox "keine bösen dinger" eingegeben werden können?

Ich brauch doch nur nen Formular machen wo ich mit dem Namen dein Checkbox ein Textfeld mache, form action auf dein File welches ursprünglich dein Formular verarbeitet und Bingo. Oder liege ich da falsch?
 
Die Angriffsmöglichkeiten sind wohl grundsätzlich die gleichen, egal ob Textarea, radiobutton, checkbox usw....
Der Input type dient eigendlich nur es dem user einfacher zu machen oder die auswahl einzugrenzen und somit fehler der eingabe zu vermeiden...

Der vorteil von Radiobutton und Checkbox wird wohl der sein, daß für gewöhnlich damit ein numerischen wert versendet wird...
Diesen Kann man relativ einfach kontrollieren und erkennen ob jemand versucht hat einen hack zu starten.
Es steht zuvor schon fest, welche möglichen Werte übergeben werden können.
Bei na textarea, text ist das ganze etwas freiräumiger....
 
Hallo!

HTML:
Code:
<input type="checkbox" name="checky[]" value="checkBoxEins" />
<input type="checkbox" name="checky[]" value="checkBoxZwei" />

PHP:
Code:
foreach ($_POST["checky"] as $element)
{
       if (strlen ($element) > 0)
              echo $element ." is checked.<br />";
}

Ich hoffe, ich habe dich richtig verstanden und konnte dir helfen :) ...

Hey, danke für den schnellen Post, aber ich weiß gerade nicht, was du damit bewirken willst. Also mein Problem ist, dass ich die Checkbox anklicke oder nicht, aber in beiden Fällen wird der value nicht übertragen. Also ich weiß nicht, wie ich im nächsten Schritt (nämlich bei dem Auswertungsskript) ich an die Variablen komme.
Ich poste mal den Code.
Hier wird das Formular definiert.

PHP:
echo "				<td><input id=\"idrueck\" type=\"checkbox\" name=\"runde\" value=\"1\"/><i id=\"idrueckgrau\"> mit R&uuml;ckrunde?</i></td>\n";

Und hier soll das ausgewertet werden. Ich habe beide optionalen Angaben auskommentiert, weil nicht unbedingt ein Inhalt übertragen wird.
(Außerdem revidiere ich meine Aussage mit den Checkboxen kann man nichts böses machen).

PHP:
if(!isset($_POST['anzteams'],
				  $_POST['spielmodus'],
				  //$_POST['runde'],
				  $_POST['gewinntore'],
				  //$_POST['anzahltore'],
				  $_POST['anzrunden'])) {
			$errors[] = "Bitte benutzen Sie das Formular aus dem Spielmodusbereich";
		} else {

Soa ich weiß nicht ob dein Skript was an der Übertragung geändert hat, aber iwie kommt hier kein wert an, den ich mit

PHP:
trim($_POST['runde'])

bekomme.
 
Zurück