Was ist falsch an dieser if/elseif-schleife

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Was ist falsch an dieser if/elseif-schleife

    Hi,

    was ist daran falsch? Ich finde den Fehler nicht, d.h. es trifft immer der letzte Fall bei "else" ein, obwol alle Variablen richtig übergeben werden.
    PHP-Code:
    function puckdrittel($puckbesitz_team$puck_drittel$team_heim$team_gast$passanzahl )
       {
           
    //echo "Vor dem Puckdrittel: Puckdrittel: $puck_drittel, Team: $puckbesitz_team, Pass: $passanzahl<br>";

            
    if ( $puckbesitz_team == $team_heim AND $puck_drittel == $team_heim AND $passanzahl >= 2
                     
    OR
                  
    $puckbesitz_team == $team_gast AND $puck_drittel == $team_gast AND $passanzahl >= ) {

                         
    $puckdrittel 'mittel';
                                                                              }

        elseif ( 
    $puckbesitz_team == $team_heim AND $puck_drittel == 'mittel' AND $passanzahl >= )   {
        
                        
    $puckdrittel $team_gast;
                                                                              }
                                                                              
        elseif ( 
    $puckbesitz_team == $team_gast AND $puck_drittel == 'mittel' AND $passanzahl >= )   {

                         
    $puckdrittel $team_heim;
                                                                              }

        elseif ( 
    $puckbesitz_team == $team_heim AND $puck_drittel == $team_gast AND $passanzahl 2
                     
    OR
                  
    $puckbesitz_team == $team_gast AND $puck_drittel == $team_heim AND $passanzahl ) {

                         
    $wirdgeschossen rand(0,3);
                                                                              }
                                                                              
          else { echo 
    "Fehler!"; }
          
    $_SESSION['puck_drittel'] = $puck_drittel;
    $_SESSION['wirdgeschossen'] = $wirdgeschossen;
    //echo "Puckdrittel nach Funktion: $puck_drittel, Team: $puckbesitz_team, Schuss: $wirdgeschossen.<br>";
       


  • #2
    was ist daran falsch? Ich finde den Fehler nicht, d.h. es trifft immer der letzte Fall bei "else" ein, obwol alle Variablen richtig übergeben werden.
    Ehm, woher soll ich bitte schön wissen bei dieser Beschreibung woher der Fehler rührt? Brauch ich dazu eine Glaskugel oder ein Medium oder wie?

    Du redest von Schleifen ich seh keine

    Fakten die zu klären sind:
    - Welche Parameter bzw. Variablen erhält die Funktion?
    - Die ganzen Bedingungen usw. ausklammern und überprüfen ob die übergebenen Parameter Inhalte haben....

    - Wenn du Inhalte hast dann erklär was gemacht werden soll und was nicht tut.

    -> Entweder werden keine Werte übergeben oder aber kein logisches Konstrukt trifft zu, da es einen Logikfehler gibt....
    [color=blue]MfG Payne_of_Death[/color]

    [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
    [color=red]Merke:[/color]
    [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

    Murphy`s Importanst LAWS
    Jede Lösung bringt nur neue Probleme
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
    In jedem kleinen Problem steckt ein großes, das gern raus moechte.

    Kommentar


    • #3
      Di Funktion wird wie folgt aufgerufen:

      puckdrittel($_SESSION['puckbesitz_team'], $_SESSION['puck_drittel'], $team_heim, $team_gast, $_SESSION['passanzahl'] );

      und die Parameter sind auch alle da, werden auch alle richtig angezeigt, aber es scheint wirklich keine Übereinstimmung einzutreffen, so dass nur "else" übrig bleibt.

      Kommentar


      • #4
        ich glaub Du machst einfach ein paar zuwenige klammern
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Wenn ich zu wenige Klammern mache, dann würde das überhaupt nicht funktionieren, oder?

          Aber das Skript funktioniert ja, weil wenigstens (leider immer) "echo "Fehler";" ausgeführt wird.

          Kommentar


          • #6
            in deinem auskommentierten "echo" listest du nur 3 von 5 variablen.
            steht auch was in $team_heim, $teamgast ?

            wenn ja, zeig doch mal, was in den einzelnen vars steht.
            Kissolino.com

            Kommentar


            • #7
              OffTopic:
              btw: "if-schleifen"
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Jaja, ich weiß, dass es keine Schleife ist, deshalb is ja in einer Funktion und diese Funktion wird aus einer for-Schleife aufgerufen. Aber trotzdem weiß ich immernoch nicht, warum die Bedingung nicht erfüllt wird, obwohl er mir alles genau anzeigt , d.h. die Bedingungen wie z.B.

                $puckbesitz_team == $team_heim
                Loewenzahn == Loewenzahn

                eintreffen, aber es keine Veränderung gibt.

                Kommentar


                • #9
                  erste zeile der funktion:
                  PHP-Code:
                  echo '$puckbesitz_team: -'.$puckbesitz_team.'-<br />';
                  echo 
                  '$puck_drittel: -'.$puck_drittel.'-<br />';
                  echo 
                  '$puckbesitz_team: -'.$puckbesitz_team.'-<br />';
                  echo 
                  '$team_heim: -'.$team_heim.'-<br />';
                  echo 
                  '$team_gast: -'.$team_gast.'-<br />';
                  echo 
                  '$team_gast: -'.$team_gast.'-<br />';
                  echo 
                  '$passanzahl: -'.$passanzahl.'-'
                  ausgabe?
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Ausgabe:

                    $puckbesitz_team: -Loewenzahn-
                    $puck_drittel: -mittel-
                    $puckbesitz_team: -Loewenzahn-
                    $team_heim: -Loewenzahn-
                    $team_gast: -Pusteblume-
                    $team_gast: -Pusteblume-
                    $passanzahl: -1-Fehler!

                    und weiter unten:

                    $puckbesitz_team: -Loewenzahn-
                    $puck_drittel: -mittel-
                    $puckbesitz_team: -Loewenzahn-
                    $team_heim: -Loewenzahn-
                    $team_gast: -Pusteblume-
                    $team_gast: -Pusteblume-
                    $passanzahl: -3-

                    Da sollte eigentlich eine Bedingung erfüllt sein, oder?

                    Kommentar


                    • #11
                      Original geschrieben von Kiruma
                      Ausgabe:

                      $puckbesitz_team: -Loewenzahn-
                      $puck_drittel: -mittel-
                      $puckbesitz_team: -Loewenzahn-
                      $team_heim: -Loewenzahn-
                      $team_gast: -Pusteblume-
                      $team_gast: -Pusteblume-
                      $passanzahl: -1-Fehler!

                      Da sollte eigentlich eine Bedingung erfüllt sein, oder?
                      und welche?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Original geschrieben von Kiruma


                        und weiter unten:

                        $puckbesitz_team: -Loewenzahn-
                        $puck_drittel: -mittel-
                        $puckbesitz_team: -Loewenzahn-
                        $team_heim: -Loewenzahn-
                        $team_gast: -Pusteblume-
                        $team_gast: -Pusteblume-
                        $passanzahl: -3-

                        elseif ( $puckbesitz_team == $team_heim AND $puck_drittel == 'mittel' AND $passanzahl >= 2 )

                        Diese sollte meines Wissens erfüllt sein.

                        Kommentar


                        • #13
                          Original geschrieben von Kiruma
                          elseif ( $puckbesitz_team == $team_heim AND $puck_drittel == 'mittel' AND $passanzahl >= 2 )

                          Diese sollte meines Wissens erfüllt sein.
                          ja, aber da vorher schon die ausgabe "Fehler" kommt, hat er das if-konstrukt ja bereits abgearbeitet oder?

                          und da nach dieser zweiten ausgabe nicht mehr der text "Fehler" kommt, denke ich mal, dass er da was gearbeitet hat
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            So, endlich habe ich den Fehler gefunden. Ganz einfach:

                            $puckdrittel sollte eigentlich $puck_drittel heißen.

                            Wieviel Leute haben da nicht danach gefragt, lol. Okay -> Thema beendet.

                            Vielen Dank an alle.

                            Kommentar

                            Lädt...
                            X