Simple Rechnung

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

  • Simple Rechnung

    Hallo Leute,
    ich bin ein Anfänger und will eine simple Rechnung in PHP durchführen, die aber leider nicht funktioniert.
    Über Radiobuttons kann man auswählen ob man Brot oder Baguette haben möchte und welche Belagsorte.
    Naja hier der Code. ich kriege kein echo raus!!!

    PHP-Code:
    <html>

    <head>
    <title>Bestellung</title>
    </head>

    <body>

        <form method="post" action="bestellung2.php">

        <p>
        Auswahl des Brotes<br/>
        <input type="radio" name="grund" value="g1" /> Br&ouml;tchen <br/>
        <input type="radio" name="grund" value="g2" /> Baguette </p><br/>
        <p> 
        Auswahl des Belags<br/>
        <input type="radio" name="Belag" value="b1" /> Belagkategorie 1<br/>
        <input type="radio" name="Belag" value="b2" /> Belagkategorie 2<br/>
        <input type="radio" name="Belag" value="b3" /> Belagkategorie 3<br/>
        <input type="radio" name="Belag" value="b4" /> Belagkategorie 4<br/>
        <input type="radio" name="Belag" value="b5" /> Belagkategorie 5<br/></p>
        
        <input type="Submit" name="Submit" value="Bestellen">
        </form>

    <?php    
        $p1 
    = ("0.20");
        
    $p2 = ("0.40");
        
    $p3 = ("0.05");
        
    $p4 = ("0.10");
        
    $p5 = ("0.20");
        
    $p6 = ("0.35");
        
    $p7 = ("0.50");
        
    $p8 = ("0.10");
        
    $p9 = ("0.15");
        
    $p10 = ("0.30");
        
    $p11 = ("0.60");
        
    $p12 = ("1.00");
        
        if (isset (
    $_POST["g1" && "b1"])) {
        
    $preis $p1 $p3;
        }
        if (isset (
    $_POST["g1" && "b2"])) {
        
    $preis $p1 $p4;
        }
        if (isset (
    $_POST["g1" && "b3"])) {
        
    $preis $p1 $p5;
        }
        if (isset (
    $_POST["g1" && "b4"])) {
        
    $preis $p1 $p6;
        }
        if (isset (
    $_POST["g1" && "b5"])) {
        
    $preis $p1 $p7;
        }
        
        if (isset (
    $_POST["g2" && "b1"])) {
        
    $preis $p2 $p8;
        }
        if (isset (
    $_POST["g2" && "b2"])) {
        
    $preis $p2 $p9;
        }
        if (isset (
    $_POST["g2" && "b3"])){
        
    $preis $p2 $p10;
        }
        if (isset (
    $_POST["g2" && "b4"])) {
        
    $preis $p2 $p11;
        }
        if (isset (
    $_POST["g2" && "b5"])) {
        
    $preis $p2 $p12;
        }
        echo 
    $preis
    ?>
    </body>

    </html>
    Zuletzt geändert von Dima_HH; 26.07.2012, 15:04.

  • #2
    Bitte Regeln (s. meine Signatur) lesen und befolgen und dein Posting entsprechend anpassen.

    Neben der Formatierung hätten auch sprechende Variablennamen (oder Arrays!) dabei helfen können, den Code lesbarer zu machen.

    Wo lernt man eigentlich sowas?
    PHP-Code:
    $_POST["g1" && "b1"

    Kommentar


    • #3
      wie frage ich denn richtig ab welche buttons gewählt wurden ?
      so wie es da steht habe ich es gegoogelt und das && eingebaut.
      mfg

      Kommentar


      • #4
        isset

        Kommentar


        • #5
          ich benutze doch isset.

          PHP-Code:
          if (isset ($_POST["g1" && "b1"])) {
          $preis $p1 $p3;

          auch wenn ich das && "b1" weglasse wird die Rechnung nicht durchgeführt.

          Kommentar


          • #6
            ich benutze doch isset.
            Aber Falsch! Und deswegen habe ich auf das offizielle Manual verlinkt (und nicht auf irgendwelche Google-Quellen) das die korrekte Verwendung zeigt.

            Blöde Frage: Sendest du das Formular ab?

            Ansonsten: Debuggen! Mach Testausgaben, insbesondere von $POST und prüfe an jeder stelle ob die Variable auch den Wert enthält, den du erwartest. Aber das steht alles bereits in den Regeln, die du ja nun kennst.

            Kommentar


            • #7
              Kannst du mir nicht eine richtige abfrage für einen meiner buttons geben ?
              mfg

              Kommentar


              • #8
                Ich könnte jetzt wieder anfangen mit Hilfe zur Selbsthilfe und so... Fakt ist, dass wir hier im Forum gewisse Grundlagen erwarten, weil diese eben schon 100-fach erklärt wurden. In deinem Fall steht die korrekte Verwendung von isset im Handbuch und das sogar ohne lange Suche. Soviel muss ich von einem Programmierer erwarten können.

                Kommentar


                • #9
                  Ich kriege es nicht hin!!!
                  Habe alles mögliche versucht. Eben noch so etwas entdeckt:
                  PHP-Code:
                  if (isset ($_POST["g1"], $_POST["b1"])) {
                      
                  $preis $p1 $p3;
                      } 
                  funktioniert natürlich auch nicht
                  Sobald ich auf ,, bestellen" drücke soll dies hier passieren:
                  PHP-Code:
                  if (isset($_POST["Submit"])) {
                      echo 
                  $preis;
                      } 
                  passiert natürlich auch nicht -.-

                  Kommentar


                  • #10
                    Deine Verzweifelung ist ganz grundlos...

                    isset wird jetzt richtig verwendet. Hat also schon mal geklappt.

                    Wie heißt die Datei?

                    Mach Testausgaben, insbesondere von $_POST und prüfe an jeder Stelle ob die Variablen auch den Wert enthalten, den du erwartest. Aber das steht alles bereits in den Regeln, die du ja nun kennst.

                    Kommentar


                    • #11
                      Zitat von TobiaZ Beitrag anzeigen

                      Wie heißt die Datei?

                      Mach Testausgaben, insbesondere von $_POST und prüfe an jeder Stelle ob die Variablen auch den Wert enthalten, den du erwartest. Aber das steht alles bereits in den Regeln, die du ja nun kennst.
                      Die Datei heißt bestellung2.php

                      Was meinst du genau mit Testausgaben ?

                      Kommentar


                      • #12
                        Habe es mit dem submit so gemacht:

                        PHP-Code:
                        if (isset($_POST["Submit"])) {
                            echo 
                        "der Preis ist:" $preis;
                            } 
                        Sobald ich auf Bestellen klicke, taucht der Text ,,der Preis ist:" auf aber die Rechnung nicht

                        Kommentar


                        • #13
                          ICH HABS!

                          So habe ich das isset gesetzt und es funktioniert.

                          PHP-Code:
                          if (isset ($_POST ["grund"]["g1"], $_POST ["Belag"]["b1"])) {
                              
                          $preis $p1 $p3;
                              } 
                          mfg

                          Kommentar


                          • #14
                            Zu früh gefreut...
                            Das rechnen funktioniert, doch es wird immer nur das teuerste (das letzte if im code berechnet) und nicht beachtet welche ich auswähle.
                            es kommen immer 1.40 € raus.

                            so sieht es jetzt aus:
                            PHP-Code:
                            <html>

                            <head>
                            <title>Bestellung</title>
                            </head>

                            <body>
                                <form method="post" action="bestellung2.php">

                                <p>
                                W&auml;hlen Sie Br&ouml;tchen oder Baguette aus.<br/>
                                <input type="radio" name="grund" value="g1" /> Br&ouml;tchen<br/>
                                <input type="radio" name="grund" value="g2" /> Baguette</p><br/>
                                <p> 
                                W&auml;hlen Sie eine Belagkategorie aus.<br/>
                                <input type="radio" name="Belag" value="b1" /> Belagkategorie 1<br/>
                                <input type="radio" name="Belag" value="b2" /> Belagkategorie 2<br/>
                                <input type="radio" name="Belag" value="b3" /> Belagkategorie 3<br/>
                                <input type="radio" name="Belag" value="b4" /> Belagkategorie 4<br/>
                                <input type="radio" name="Belag" value="b5" /> Belagkategorie 5<br/></p>
                                
                                <input type="Submit" name="Submit" value="Bestellen">
                                </form>

                            <?php    
                                
                                
                                
                                
                            if (isset ($_POST ["grund"]["g1"], $_POST ["Belag"]["b1"])) {
                                
                            $preis 0.20 0.05;
                                }
                                if (isset (
                            $_POST ["grund"]["g1"], $_POST ["Belag"]["b2"])) {
                                
                            $preis 0.20 0.10;
                                }
                                if (isset (
                            $_POST ["grund"]["g1"], $_POST ["Belag"]["b3"])) {
                                
                            $preis 0.20 0.20;
                                }
                                if (isset (
                            $_POST ["grund"]["g1"], $_POST ["Belag"]["b4"])) {
                                
                            $preis 0.20 0.35;
                                }
                                if (isset (
                            $_POST ["grund"]["g1"], $_POST ["Belag"]["b5"])) {
                                
                            $preis 0.20 0.50;
                                }
                                
                                if (isset (
                            $_POST ["grund"]["g2"], $_POST ["Belag"]["b1"])) {
                                
                            $preis 0.40 0.10;
                                }
                                if (isset (
                            $_POST ["grund"]["g2"], $_POST ["Belag"]["b2"])) {
                                
                            $preis 0.40 0.15;
                                }
                                if (isset (
                            $_POST ["grund"]["g2"], $_POST ["Belag"]["b3"])) {
                                
                            $preis 0.40 0.30;
                                }
                                if (isset (
                            $_POST ["grund"]["g2"], $_POST ["Belag"]["b4"])) {
                                
                            $preis 0.40 0.60;
                                }
                                if (isset (
                            $_POST ["grund"]["g2"], $_POST ["Belag"]["b5"])) {
                                
                            $preis 0.40 1.00;
                                }
                                
                                if (isset(
                            $_POST["Submit"])) {
                                echo 
                            "Der Preis Betr&auml;gt: " $preis;
                                }
                            ?>
                            </body>

                            </html>
                            Bitte dringend um Hilfe, da es heute aufjedenfall fertig werden muss.
                            thx im voraus
                            Zuletzt geändert von Dima_HH; 26.07.2012, 17:09.

                            Kommentar


                            • #15
                              Jetzt lass dir halt mal endlich $_POST ausgeben.

                              PS: deine anfrage ist genauso dringend wie jede andere hier. Da hilft auch die Drängelei nichts.

                              Kommentar

                              Lädt...
                              X