2016-07-28 33 views
-2

POST ich muss entweder einen ON oder OFF-Wert in PHP übergeben. Ist ein einzelnes Kontrollkästchen, um zu überprüfen, ob ein Wert auf die einfachste Methode ein- oder ausgeschaltet ist? Ich habe:Was ist die einfachste Methode, um einen einzelnen ON oder OFF-Wert (PHP)

<input type="checkbox" name="highlight"> 

und wenn es gebucht wird, wenn geprüft wird, ich den Wert bekommen ‚auf‘, aber wenn es nicht aktiviert ist bekomme ich einen Fehler von ‚Undefined index‘

Jetzt habe ich versucht, Testen, ob es leer ist oder isset, aber ich würde gerne wissen, ob dies die richtige Methode ist, um einen booleschen Wert zu übergeben.

+2

ungeprüfte Kästchen werden einfach nicht gesendet POST | GET –

+0

Danke, ich habe den Fragetitel bearbeitet, um besser geeignet zu sein – gavin

+0

Sie könnten stilisierte Radioknöpfe hinzufügen, aus oder aus wie in modernen Einstellungen für Mobilgeräte vorgewählt ist. Sie können die Radiobuttons mit jQuery stilisieren oder jquery ui verwenden. – Nitin

Antwort

1

Sie können wie folgt tun:

$cheeked = isset($_POST['highlight'])?1:0; 

$ cheeked wird 1 sein, wenn überprüft und 0 wenn nicht.

+0

Meinen Sie "geprüft"? Das ist interessant, ich werde das verwenden, danke – gavin

3

Ungeprüfter Boxen sind einfach nicht in POST gesendet | GET

Sie können nur die Funktion isset() verwenden, sein Wert ist irrelevant:

if (isset($_POST['highlight'])) { 
    echo 'it was checked'; 
} else { 
    echo 'it was not checked'; 
} 
+0

Danke, verwendet ein einzelnes Kontrollkästchen die Methode, die Sie in diesem Fall Szenario verwenden würden? Oder gibt es eine maßgeschneiderte Lösung? – gavin

+0

@gavin nicht sicher, was Sie fragen. –

+0

Danke, ich habe etwas Ähnliches gemacht, mein Problem war, dass ich einen Fehler bekam, der die POST-Variable deklarierte, wenn sie nicht gepostet wurde (dh sie war 'aus'), also überprüfe ich nur, ob sie gesetzt ist oder nicht. – gavin