PHP - Verschachtellte if, else Anweisung

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo und zwar habe ich gerade ein Problem und ich finde keine passende Lösung und zwar wollte ich fragen die verschachtelten if und else Anweisung aus meinem Code akzeptabel sind und funktionieren.

  • ungetestet, sollte aber funktionieren:

    Code
    if($_POST['blue']<0){
     echo '<img src="images/error.png">';
    } else if ($_POST['blue']<256 && $_POST['blue']>0) {
     echo shell_exec("sudo python3 var/www/switcher.py -p 5 h");
    } else if ($_POST['blue']==0) {
     echo shell_exec("sudo python3 var/www/switcher.py -p 5 l");
    }

    Beim nächsten Mal poste den Code doch bitte etwas leserlicher (Einrückungen nutzen)


  • Hallo und zwar habe ich gerade ein Problem und ich finde keine passende Lösung und zwar wollte ich fragen die verschachtelten if und else Anweisung aus meinem Code akzeptabel sind und funktionieren.


    Code
    if(!empty($_POST['blue']) && $_POST['blue']<=256 && $_POST['blue']>=0) {
     echo $_POST['blue'];
     echo shell_exec("sudo python3 var/www/switcher.py -p 5 h");
     } else {
     echo '<img src="images/error.png">';
     }


    So genau weiß ich nicht was du erreichen möchtest. In der zweiten if-abfrage schaust du ob die variable blue unter 256 und über 0 ist

    Code
    if($_POST['blue']<256 && $_POST['blue']>=0){


    in dieser Abfrage liegt noch eine if-Abfrage:

    Code
    if($_POST['blue']>0){


    diese kann dann nur noch wahr sein, oder übersehe ich hier etwas?

    edit: sry habe das = übersehen

    Einmal editiert, zuletzt von Shiro (24. September 2013 um 12:51)

    • Offizieller Beitrag

    Ich würde es so machen:


    Obwohl ich mir bei den ganzen Klammern grade unsicher bin ;). Es gibt schon einen Grund warum ich python mag
    man kann das ganze noch durch else if ersetzen, damit es noch strukturierter wird.

  • Also erstmal fangen wir mit dem Sauberen Programmieren an:

    Zum Programmieren unter Windows nimmst du dir am besten einen Linux-kompatiblen Editor wie zB Proton oder UltraEdit - letzteren nutze ich da der auch die Syntax hervorhebt und verschachtelungen markiert usw..

    Dann drückst du, um Zeilen einzurücken die TAB Taste damits einheitlich aussieht und verzichte nicht mitten im Code plötzlich auf leerzeichen...

    Du solltest dir angewöhnen den Code vernünftig zu formatieren sodass man ihn besser lesen kann:

    Wieso steht der Code soweit rechts? Und wieso ist unter der einen if direkt ein echo aber die Zeile dadrunter ist versetzt?
    Und dann hast du auch noch an manchen stellen ein Leerzeichen vergessen usw wodurch das ganze ziemlich unsauber wirkt und sich schlecht entziffern lässt...

    Sauber sähe das so aus:
    [code=php]
    <?php
    if (empty($_POST['blue'])) {
    echo '<img src="images/error.png">';
    } else {
    if ($_POST['blue'] < 256 && $_POST['blue'] >= 0) {
    echo $_POST['blue'];
    if ($_POST['blue'] > 0) {
    echo shell_exec("sudo python3 var/www/switcher.py -p 5 h");
    } else {
    echo shell_exec("sudo python3 var/www/switcher.py -p 5 l");
    }
    } else {
    echo '<img src="images/error.png">';
    }
    }
    ?>
    [/php]und in meinem Editor so:

    Spoiler anzeigen

    b3rrc5cc2vv.png


    Was mich nun allerdings an deiner Frage etwas wundert wieso du die stellst?
    Hast du den Code ausprobiert? Funktioniert es oder gibts irgendwo Probleme?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!