[PHP] if und else Abfrage

digiTALE

Lt. Junior Grade
Registriert
Juli 2004
Beiträge
270
Hey.

Habe jetzt noch ein Problem. In einem Dropdown Menue habe ich eine If und ELSE Abfrge integriert.

Angenommen der Wert "$monat = 01", dann soll er "selected=selected" ausgeben. Aber da kommt eine Fehlermeldung. Kann leider den Fehler nicht erkennen.

PHP:
<?php 

if ("01" == $monat) {
	echo "selected=\'selected\'"; }
else {
	echo ; ?>

Wo liegt das Problem?

mfg digiTALE
 
Du hast vergessen die Klammer beim else zu schließen.

//edit
Und was soll edit ; bringen? Wenn du nichts ausgeben willst, dann lass es doch einfach weg.

//edit2
Es macht außerdem mehr Sinn echo "selected=\"selected\" "; zu schreiben.
 
Zuletzt bearbeitet:
wenn der wert $monat in der adresszeile mit angegeben wird dann soll im DropDown Menue angezeigt werden bei welchem Monat ich mich befinde, deshalb die If Else Abfrage.

Er soll ja beim richtigen Monat den folgenden Wert "selected=selected" ausgeben und bei dem der übergebende Wert nicht übereinstimmt dann soll er nichts ausgeben.

wenn du verstehst was ich meine.

mfg digiTALE
 
Fragt man nicht normalerweise ab, ob eine Variable einen Wert hat ($monat == 1) und nicht umgekehrt?
 
Tach.

hab den Fehler nu gefunden, habe vergessen zum Schluß die schließende "}" vergessen.

@ RuL3R
bei mir geht das auch so, macht also nicht wirklich ein unterschied ob es nun am Anfang oder dahinter steht.

Aber richtiger Weise kann ich den Code ja noch mal Posten.
PHP:
<?php 

if ($monat == "01" ) {
    echo "selected=\"selected\" "; }

else {
    echo " "; }

?>

mfg digiTALE
 
N Tipp am Rande:
Die schliessende Klammer gehört immer in eine neue Zeile, da sonst der Code unübersichtlich wird.
also
Code:
if(true) {
    foo();
}
else {
    bar();
}
bzw
Code:
if(true)
{
    foo();
}
else 
{
    bar();
}
 
Ja. SelfHTML
Wenn Sie XHTML-Standard-konform arbeiten wollen, müssen Sie das Attribut in der Form selected="selected" notieren.

Außerdem wollte ich nur auf die doppelten Anführungsstriche hinweisen.
In digiTALE's Codebeispiel wäre die Ausgabe:
Code:
selected=\'selected\'
Einfache Anführungsstriche müssen innerhalb doppelter Anführungsstriche nicht escaped werden.
 
Zuletzt bearbeitet:
Imo einfacher und effektiver:

PHP:
	echo 'selected="selected"';

PHP-Anweisungen in einfache Hochkommas, dann können HTML-Eigenschaften weiterhin mit Gänsefüßchen geschrieben werden, ohne dass der Code massiv unübersichtlich wird.
 
Zurück
Oben