2011-01-04 3 views
0

Ich habe ein paar Dropdown-Boxen, die ich über POST mit PHP zugreifen. Wenn die Boxen deaktiviert sind und ungleich Null sind, habe ich das Programm etwas tun. Wenn sie jedoch deaktiviert sind, möchte ich nicht, dass sie etwas tun. Die Art, wie ich überprüfen, ob die Boxen aktiv sind, ist die Verwendung einer if-AnweisungDeaktiviert Wählen Sie die Dropdown-Liste durch PHP

if ($_POST['box'] != "blank"){ 

//do something 

} 

Also im Grunde ich überprüfen, ob die Box nicht in der leeren Position Standard ist ausführen, um die if-Anweisung.

Aber wenn es deaktiviert ist, bin ich nicht sicher, wie man überprüft oder welche Art von Wert es zurückgibt, wenn überhaupt. Was kann ich der if-Anweisung hinzufügen, damit sie nicht in die Schleife geht, wenn die Kontrollkästchen deaktiviert sind?

Ich habe versucht:

if ($_POST['box'] != "blank" || $_POST['box'] != ""){ 

    //do something 

    } 

Aber das hat nicht funktioniert. Irgendwelche Ideen?

Antwort

1

Es ist wichtig zu verstehen, dass ein Formular nur etwas ist, das eine HTTP POST-Anfrage an einen Webserver sendet. Aus der Sicht von PHP hat es keine Ahnung, dass jemand auf ein Formular geklickt hat, es sieht nur einige POST-Daten, die von irgendwoher kommen konnten.

Das heißt, ein deaktiviertes Formularelement wird nicht übermittelt. Versuchen Sie stattdessen etwas wie

1

Wenn HTML-Elemente deaktiviert sind, erstellen sie keinen Eintrag innerhalb der Variable $ _POST.

Also, wenn Sie positiv sind, dass die Vorlage POST in den kommenden enthält die ‚Box‘ Feld, dann können Sie gehen:

if (!isset($_POST['box']) || $_POST['box'] != "blank") { 
    echo "The box field is disabled or blank"; 
} 

Nun Code funktionierte nicht, weil $_POST['box'] != "" prüft, ob $_POST['box'] ist keine leere Zeichenfolge. Wenn Sie irgendeinen Inhalt haben, wird Ihre if-Bedingung wahr.

Verwandte Themen