Ergebnis 1 bis 5 von 5

Thema: Problem mit if und else in PHP =(

  1. #1
    Unregistriert
    Gast

    Unglücklich Problem mit if und else in PHP =(

    Ich versuche im Moment für die Schule einen BMI-Rechner mit PHP zu erstellen. Jedoch habe ich ein Problem mit der Ausgabe:
    Liegt der BMI unter 18.5 soll ''Sie haben Untergewicht'' dargestellt werden.
    Liegt der BMI zwischen 18.5 und 25 soll ''Sie haben Normalgewicht'' dargestellt werden.
    Liegt der BMI über 25 soll ''Sie haben Übergewicht'' dargestellt werden.

    Mein Problem besteht darin, dass momentan schon vor Abschicken der eingegebenen Werte neben dem 'reset'-Button ''Sie haben Untergewicht'' steht. Außerdem wird, egal welchen Wert der ausgerechnete BMI hat, immer ''Sie haben Untergewicht'' ausgegeben.
    Ich habe schon viel rumprobiert und im Internet nach Lösungen gesucht, bin aber leider zu keiner Lösung gekommen.
    Woran kann es liegen?

    hier ein Teil meines Quelltextes:




    <?php

    if (isset($_POST['zustand']) && $_POST['zustand']=='bearbeiten')
    {
    schreibeFormular();
    bearbeiteFormular();
    }
    else
    {
    schreibeFormular();
    }

    function bearbeiteFormular()
    {
    $a = $_POST['a'];
    $b = $_POST['b'];
    $c = $_POST['c'];
    $ergebnis = $b/($c*$c) ;
    echo "Ihr BMI betraegt:";
    echo "<br><br>";
    echo $ergebnis;
    echo "<br><br>";
    }


    if ($ergebnis < 18 )
    {
    echo "Sie haben Untergewicht" ;
    }

    else
    {
    if ($ergebnis < 25)
    {
    echo "Sie haben Normalgewicht" ;
    }
    else
    {
    echo "Sie haben Übergewicht" ;
    }
    }

    function schreibeFormular()
    {

    ?>
    <form action="index.php" method="POST">
    <h1> BMI berechnen </h1>
    <h2>Bitte geben sie ihr alter, ihre größe und ihr gewicht ein.</h2><p>

    <input type="text" name="a" size="5" maxlength="3"> alter<p>
    <input type="text" name="b" size="5" maxlength="3"> gewicht<p>
    <input type="text" name="c" size="5" maxlength="4"> größe (m.cm)<p>

    <input type="hidden" name=zustand value=bearbeiten>
    <input type="submit" value="send"> &nbsp <input type="reset" value="reset">

    </form>
    <?php
    }
    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in) Avatar von NyctalusNoctula
    Registriert seit
    07.08.2006
    Beiträge
    1.316
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Problem mit if und else in PHP =(

    auf jeden Fall musst du hier noch Anführungszeichen machen:

    HTML-Code:
    <input type="hidden" name="zustand" value="bearbeiten">
    Außerdem ist <p> kein Zeilenumbruch sondern ein Absatz. Und am Ende des Absatzes muss ein </p> stehen. Soweit zum html Teil.

    Das wird dein Problem aber vermutlich noch nicht beheben.

  3. #3
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Problem mit if und else in PHP =(

    Was ist $_POST['a'] ?
    Generell würd ich gerne mal den ganzen Code sehen. Bin jetzt nur drüber geflogen, aber ich hab das Gefühl der Unvollständigkeit

  4. #4
    Bandit
    Gast

    Standard AW: Problem mit if und else in PHP =(

    PHP-Code:
    <?php

      
    if (isset($_POST['zustand']) && $_POST['zustand']=='bearbeiten')
      {
         
    schreibeFormular();
       
         
    $ergebnis bearbeiteFormular();
         
         if (
    $ergebnis !== false)
         {
            echo 
    "<br><br>Ihr BMI betraegt: $ergebnis<br>\n";

            if (
    $ergebnis 18 )
              echo 
    "Sie haben Untergewicht" ;
            else if (
    $ergebnis 25)
              echo 
    "Sie haben Normalgewicht" ;
            else
              echo 
    "Sie haben Übergewicht" ;
            
            echo 
    "<br><br>\n";
         }
         else
           echo 
    "<br><br>Fehlerhafte Eingaben";
         
      }
      else
      {
         
    schreibeFormular();
      }

      function 
    bearbeiteFormular()
      {
        
    $result false;
        
        if (! empty(
    $_POST['a']) && !empty($_POST['b']) && ! empty($_POST['c']))
        {
           
    $a $_POST['a'];
           
    $b $_POST['b'];
           
    $c $_POST['c'];
        
           if ((
    $c*$c) != 0)
             
    $result $b/($c*$c) ;
        }
          
        return 
    $result;
      }

      function 
    schreibeFormular()
      {

         echo 
    '<form action="' $_SERVER['SCRIPT_NAME'] . '" method="POST">
               <h1> BMI berechnen </h1>
               <h2>Bitte geben sie ihr alter, ihre größe und ihr gewicht ein.</h2><p>
               <input type="text" name="a" size="5" maxlength="3"> alter<p>
               <input type="text" name="b" size="5" maxlength="3"> gewicht<p>
               <input type="text" name="c" size="5" maxlength="4"> größe (m.cm)<p>
               <input type="hidden" name=zustand value=bearbeiten>
               <input type="submit" value="send"> &nbsp <input type="reset" value="reset">
               </form>'
    ;
      }
    ?>

  5. #5
    Unregistriert
    Gast

    Standard AW: Problem mit if und else in PHP =(

    also so wie ich jetzt geschaut habe, kannst du des nicht mit dem BMI machen.....

    versuchs mal, also bei mir was der BMi bei einem kind von 2 jahren 80Kg und größe 30cm
    bei 0.0888888888889 O.O

    denke mal das des daran liegt


    MfG

    skadi

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •