Ankündigung

Einklappen
Keine Ankündigung bisher.

Taschenrechnerforumular

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Taschenrechnerforumular

    Hallo zusammen,
    Ich hab folgendes Problem, ich bin gerade an PHP dran und möchte mir einen Taschenrechner bauen. Habe aber Probleme, er gibt das Ergebnis auf einmal nicht mehr aus und außerdem möchte ich, dass die Radio-Buttons angeklickt bleiben, deswegen auch das checked. Funktioniert aber nicht :/ ?

    PHP-Code:
    <form action="aufgabe41.php" METHOD="post">
        <p>
         <input type="radio" name="Operator" value="<?php 
        
    if(isset($_POST["Operator"])){
          if(
    $_POST["Operator"]=="+"){
            echo 
    "checked";
          }
        }
      
    ?>
           > Addieren<br>   
      <input type="radio" name="Operator" value="<?php 
        
    if(isset($_POST["Operator"])){
          if(
    $_POST["Operator"]=="-"){
            echo 
    " checked";
          }
        }
      
    ?>"
           > Subtrahieren<br>
         
      <input type="radio" name="Operator" value="<?php 
        
    if(isset($_POST["Operator"])){
          if(
    $_POST["Operator"]=="*"){
            echo 
    "checked";
          }
        }
      
    ?>"
          > Multiplizieren<br>
      
      <input type="radio" name="operator" value="<?php 
        
    if(isset($_POST["Operator"])){
          if(
    $_POST["Operator"]=="/"){
            echo 
    "checked";
          }
        }
      
    ?>"
          > Dividieren<br>
        </p>
        <h1>Mit welchen beiden Zahlen soll gerechnet werden ?</h1>
        <table border="0">
         <tr>
          <td>1.Zahl</td>
          <td><input name="zahl1" size="20" maxlength="30" value="<?php 
              
    if( isset($_POST["zahl1"])){
                echo 
    $_POST["zahl1"];
               } else { 
                echo 
    "";
              }
             
    ?>"
           > 
          </td>
         </tr>
         <tr>
          <td>2.Zahl</td>
          <td><input name="zahl2" size="20" maxlength="30" value="<?php 
              
    if( isset($_POST["zahl2"])){
                echo 
    $_POST["zahl2"];
               } else { 
                echo 
    "";
              }
             
    ?>"
            />  
          </td>
         </tr>
         <tr>
          <td>Ergebnis</td>
          <td><input name="ergebnis" size="20" maxlength="30" value="<?php 
          $Operator
    =$_POST["Operator"];
          
    $zahl1=$_POST["zahl1"];
          
    $zahl2=$_POST["zahl2"];
           if (
    $Operator=="+"){$ergebnis=$zahl1+$zahl2;}
           if (
    $Operator=="-"){$ergebnis=$zahl1-$zahl2;}
           if (
    $Operator=="*"){$ergebnis=$zahl1*$zahl2;}
           if (
    $Operator=="/"){$ergebnis=$zahl1/$zahl2;}
            echo 
    "$ergebnis"?>"
          ></td>
         </tr>
       </table>
       <input value="Absenden" type="submit">
       <input  name="reset" value="reset" type="reset">
      </form>
       </div>


  • #2
    Funktioniert aber nicht :/ ?
    Is generell ne schlechte Darstellung des Fehlverhaltens.
    Das kann für uns tausend Dinge bedeuten.

    Was mir als erstes auffällt sind die fehlenden HTML-Grundlagen!
    Ein Radio-Button, den Du checked setzen willst wird bspw. so aufgebaut:
    Code:
    <input type="radio" name="Operator" value="addieren" checked />
    Du haust das checked in den Value, das bringt für Dein Vorhaben nichts.
    Außerdem gehört in den Value der Wert, den Du später per IF abfragst (+, - /, *) !

    Dann zum Thema Ausgabe.
    Habe grad keine Lust zu testen und kann deshalb nicht sagen, ob das was damit zu tun hat,
    aber grundlegend solltest Du dem Input-Type einen type mitgeben:
    Code:
    // Deine Variante:
    <input name="ergebnis" size="20" maxlength="30" value="..." />
    
    // Eigentlich gehört es so
    <input type="text" name="ergebnis" size="20" maxlength="30" value="..." />
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Also , die HTML Grundlagen habe ich einfach nicht mit kopiert ,aber hier hänge ich sie noch einmal an für dich.
      So , das mit dem Type ist nicht der Grund dafür, weil 1. es trotzdem nichts erscheint, und 2. es ja vorher auch ohne funktioniert hat!
      Das was mich irritert ist, das es wie es hier steht , bei einem anderen funktioniert, nur bei mir nicht, könnte es sein dass ich irgendetwas falsch geschrieben habe ?
      Es kommt nämlich garnichts in dem untersten kästchen raus.
      Und der reset button funktioniert leider auch nicht, da tut sich nämlich nichts.

      PHP-Code:
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "http://www.w3.org/TR/html4/loose.dtd">
      <html>
          <head>
              <title></title>
         <link type="text/css" rel="stylesheet" href="./phpgrundl.css">
          </head>
          <body>
        <div id="Inhalt">
              <h1>Calculator PHP</h1>
          <form action="aufgabe41.php" METHOD="post">
          <p>
           <input type="radio" name="Operator" value="<?php 
          
      if(isset($_POST["Operator"])){
            if(
      $_POST["Operator"]=="+"){
              echo 
      "checked";
            }
          }
        
      ?>
             > Addieren<br>   
        <input type="radio" name="Operator" value="<?php 
          
      if(isset($_POST["Operator"])){
            if(
      $_POST["Operator"]=="-"){
              echo 
      " checked";
            }
          }
        
      ?>"
             > Subtrahieren<br>
           
        <input type="radio" name="Operator" value="<?php 
          
      if(isset($_POST["Operator"])){
            if(
      $_POST["Operator"]=="*"){
              echo 
      "checked";
            }
          }
        
      ?>"
            > Multiplizieren<br>
        
        <input type="radio" name="operator" value="<?php 
          
      if(isset($_POST["Operator"])){
            if(
      $_POST["Operator"]=="/"){
              echo 
      "checked";
            }
          }
        
      ?>"
            > Dividieren<br>
          </p>
          <h1>Mit welchen beiden Zahlen soll gerechnet werden ?</h1>
          <table border="0">
           <tr>
            <td>1.Zahl</td>
            <td><input name="zahl1" size="20" maxlength="30" value="<?php 
                
      if( isset($_POST["zahl1"])){
                  echo 
      $_POST["zahl1"];
                 } else { 
                  echo 
      "";
                }
               
      ?>"
             > 
            </td>
           </tr>
           <tr>
            <td>2.Zahl</td>
            <td><input name="zahl2" size="20" maxlength="30" value="<?php 
                
      if( isset($_POST["zahl2"])){
                  echo 
      $_POST["zahl2"];
                 } else { 
                  echo 
      "";
                }
               
      ?>"
              />  
            </td>
           </tr>
           <tr>
            <td>Ergebnis</td>
            <td><input type="text" name="ergebnis" size="20" maxlength="30" value="<?php 
            $Operator
      =$_POST["Operator"];
            
      $zahl1=$_POST["zahl1"];
            
      $zahl2=$_POST["zahl2"];
             if (
      $Operator=="+"){$ergebnis=$zahl1+$zahl2;}
             if (
      $Operator=="-"){$ergebnis=$zahl1-$zahl2;}
             if (
      $Operator=="*"){$ergebnis=$zahl1*$zahl2;}
             if (
      $Operator=="/"){$ergebnis=$zahl1/$zahl2;}
              echo 
      "$ergebnis"?>"
            ></td>
           </tr>
         </table>
         <input value="Absenden" type="submit">
         <input  name="reset" value="reset" type="reset">
        </form>
         </div>
          </body>
      </html>

      Kommentar


      • #4
        Da wird doch der Hund in der Pfanne verrückt !!!
        Kannst Du BITTE mal lesen, was ich in der ersten der beiden Codeboxen oben drüber gepostet habe
        und dann mal mit dem vergleichen, was Du IMMER NOCH machst (Quelltext)!

        Dann hat ein Input immer einen Standard-Typ, der wie erwartet ein TEXT ist, dennoch gibt man sowas mit an.

        Bevor solche grundlegenden Dinge nicht korrigiert sind, schau ich mir den Rest gar nicht mehr an.
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Ist doch eh eine Hausaufgabe .

          Kommentar


          • #6
            Ich habe mir das gründlich durchgeguckt, das problem dabei ist einfach, dass ich das, was du mir gesagt hast, nach unserem Lehrer nicht machen darf.
            Da ich diese nach dir geschilderten " grundlegenden" Sachen schon alle durchgegangen bin und immer noch alles nicht funktioniert bin ich ja erst zu diesem forum gekommen.

            @ cetalian: Willst du damit irgendetwas sagen? Bin ich deswegen nicht willkommen ? Oder wie habe ich diese Anmerkung zu verstehen ?

            Kommentar


            • #7
              PHP-Code:
              <input type="radio" name="Operator" value="+" <?php 
              if($_POST["Operator"]=="+"){
                echo 
              "checked";
              }
              ?>>Addieren

              Kommentar


              • #8
                Oder wie habe ich diese Anmerkung zu verstehen ?
                Dass wir hier kein Hausaufgabenservice sind. Die Dinger sind nicht umsonst da. Erst dadurch, dass Du sie erledigst, lernst Du etwas. U.a. die Recherche von Informationen und die Umsetzung (Abstraktion). Indem Dir hier alles vorgebetet wird, ist Dir nicht geholfen.

                [MOD: Thread geschlossen]

                Ich bitte alle fleißigen Helfer um Verständnis.
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar

                Lädt...
                X