Checkbox nach refresh immernoch checked

J

joky_joky

Hallo ich habe eine Checkbox

PHP:
<input name="checkbox" type="checkbox" value="checkbox">

so sieht diese aus wenn sie nicht gechecked ist und so

PHP:
<input name="checkbox" type="checkbox" value="checkbox" checked>

wenn es gechecked ist jetzt meine Frage ich habe in einer Datenbank
immer den inhalt der checkbox abgespeichert also wenn dann mein Formular
geladen wird schaut der nach ob für diese checkbox ein eitrag vorhanden ist die habe ich so gemacht.

PHP:
<input name="BlaBla" type="checkbox" value="BlaBla" <?php if($BlaBla[0] == "BlaBla"){echo "checked";} ?>>

so nun wenn ich eine checkbox die also gechecked ist abklicke so das sie nicht mehr gechecked ist und in meinem Formular auf übernehmen klicke übernimmt er mir das nicht dies ist auch in umgekehrter reihenfolge ebenso also wenn ich irgendwo ein hacken setze und auf übernehmen klicke dann macht er es auch nicht .

PHP:
<option value="BlaBla"<?php if($BlaBla == "BlaBla") echo 'selected';?>>BlaBla</option>

hier kann ich diese so umgehen kann mir jemand sagen wie ich diese bei einer checkbox verwirklichen kann.
wollte es mit <?php if($BlaBla == "BlaBla") echo 'checked';?>
machen aber des geht nicht ganz.

MfG joky_joky
 
Überprüfe mal, ob der Wert überhaupt richtig in die Datenbank übernommen wird. Wenn ja, poste bitte mal den Teil des Scripts, in dem der zu übernehmende Wert aus der Datenbank geholt wird.
 
Moinsen,

finde es erstmal nicht so "joky", dass deine Shift- und Komma-Taste kaputt ist.

Dann zum Problem. Wo kommt denn die Variable blabla her? Wie sehen deine (non)querys denn aus? Oder gibt's die garnicht?
 
Ich vermute mal , dass dein if() immer true ist wenn du das Formular submittest.

PHP:
<option name="foo" value="foo" <?=($_POST['foo'] == 'foo') ? 'checked' : ''?>

sollte eigentlich funktionieren. Überpüfe mal welche Werte du da eigentlich prüfst.
 
Das mit dem Abwählen ist ganz einfach erklärt:
Eine nicht gecheckte Checkbox wird einfach nicht auf die nächste Seite übertragen.

Lösung:
PHP:
<?
$checkvar = ($_post['checkvar']) ? $_post['checkvar'] : 0;
$sql = "update table set checkvar=".$checkvar;
?>
 
Zurück