checkbox Auswertung

bauchinj

Erfahrenes Mitglied
Hallo!

Ich glaub ich steh grad auf der Leitung:

HTML:
<input type="checkbox" name="administrator" id="administrator" value="ja">Administrator


Es geht darum, einen Benutzer zB als Administrator zu markieren. Nun will ich das ganze auswerten:

PHP:
if($_POST['administrator'] == "on" || $_POST['administrator'] == "ja"){
   ...
}
else{
   ...
}


Problem ist, dass immer ja oder on geliefert wird, also auch wenn die Checkbox nicht angehackt ist. Da muss ich wohl einen grundlegenden Denkfehler haben, oder?

Bitte um Hilfe!
 
Bei dir steckt da wohl noch mehr drin als du hier gezeigt hast.
Wie kommt es sonst das du darauf prüfst ob administrator = "on" wenn doch nur "ja" als Wert übergeben werden kann.

Schau doch mal nach wann "on" geliefert wird. Vielleicht findest du die Ursache dann.

Gruß Thomas
 
Hallo!

Danke erstmal für deine Antwort.

Ich hab den Value erst nachträglich hinzugefügt und die if-Abfrage nur erweitert...
Ich bekomme immer den Wert "ja" zurückgeliefert, egal ob angehackt oder nicht.
 
Wahrscheinlich hast du ein Fehler im gesammten Formular, welches wir hier nicht sehen.

In einem kleinen Test sieht man dass es eigentlich geht
PHP:
<form action="test.php"  method="post">
    <p></p><input type="checkbox" name="administrator" id="administrator" value="ja" />Administratorinput</p>
    <p><input type="submit" /></p>    
</form>
<hr />
<?php
    print_r($_POST);
?>
 
hm..... Also das testscript von yaslaw funktioniert auch bei mir (war ja nicht anders zu erwarten.
hier mal mein Formular:

HTML:
<form method="POST" action="action.php" onsubmit="somefunction(); return false;" id="inputformular">
name: <input type="text" name="name" id="name"><br>
<input type="checkbox" name="administrator" id="administrator" value="ja"/>Administrator<br>
<input type="submit" value="save">
</form>

Also, ich verwende AJAX => onsubmit event!
bekomme wie gesagt immer $_POST['administrator'] = "ja"; ohne dass es gesetzt ist. Hab meinen Code auch nochmal genau durchsucht - es gibt keine Zeile die diese POST-Variable auf ja setzt, außer man setzt das Häckchen.
 
a) der Button hat keinen Namen
b) dann liegt es wohl an "somefunction()" !?

Außerdem wo ist jetzt der Code der das Formular auswertet? Oben gab es noch eine IF-Anweisung.
 
Zuletzt bearbeitet:
Zurück