Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Keine Ausgabe von Variablen bei Formular

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Keine Ausgabe von Variablen bei Formular

    Hallo Leute,
    Ich bin derzeitig auf der Suche nach einem "Kostenrechner" welcher in php gemacht wurde. (Leute können Optionen in ienem Formular auswählen und der Preis wird dann ausgerechnet und ausgegeben)

    Leider hab ich bisher kein Tutorial in der Sektion gefunden, deshalb probiere ich selber rum.

    Leider habe ich bei folgenden Code Probleme mit der Ausgabe der Ausgewählten Optionen:

    HTML Datei:
    Code:
    <html>
    <body>
    Bitte treffen Sie jeweils eine Auswahl und senden Sie das Formular 
    ab:
    <form action = "ud01.php" method = "post">
    
        <input type="radio" name="rziel" value="Gomera" checked>
           Wandern auf Gomera<p>
        <input type="radio" name="rziel" value="Lanzarote">
           Sonnen auf Lanzarote <p>
        <input type="radio" name="rziel" value="Fuerteventura">
           Surfen auf Fuerteventura<p>
    
        <hr>
        <input type="radio" name="htyp" value="Drei" checked>
           Drei-Sterne Hotel<p>
        <input type="radio" name="htyp" value="Vier">
           Vier-Sterne Hotel<p>
    
        <input type = "submit">
        <input type = "reset">
    </form>
    </body>
    </html>
    und die zugehörige php datei:
    Code:
    <html>
    <body>
    <?php
    
       echo "Sie möchten also nach $rziel in";
       echo " ein $htyp Sterne Hotel<p>";
    
       if ($rziel == "Gomera")
       {
          if ($htyp == "Drei") $ang = 7;
          else $ang = 1;
       }
    
       else if ($rziel == "Lanzarote")
       {
          if ($htyp == "Drei") $ang = 12;
          else $ang = 2;
       }
    
       else
       {
          if ($htyp == "Drei") $ang = 5;
          else $ang = 4;
       }
    
       echo "Dazu haben wir $ang Angebote";
    ?>
    
    </body>
    </html>


  • #2
    Und was für einen "Kostenrechner" willst du jetzt genau? o.o


    Edit: Ich glaub es liegt mal wieder an register_globals.. ersetz mal $rziel mit $_GET["rziel"] und $htyp mit $_GET["htyp"]...

    Kommentar


    • #3
      Es soll die Kosten eines Produktes zusammenrechnen.

      zb.

      Produktanzahl [Formularfeld]
      + Option 1 [Feld zum Anklicken ]
      + Option 2 [Feld zum Anklicken ]

      Summe [Anzahl * (Option 1 + Option 2)

      Aber im Prinzip reicht es mir erstmal zu wissen warum die Variablen nicht ausgegeben werden, nachdem man auf "Submit" geht, denn mit Hilfe dieser Webseite kann ich mir dann das gewünscht zusammenbauen. Aber leider funktionieren die Beispiele dort alle nicht.

      Link: [url=http://www.galileocomputing.de/openbook/php4/kapd.htm]

      Kommentar


      • #4
        Wie gesagt, dieses Fomular arbeitet mit register_globals = off
        Am Anfang der Datei folgendes einfügen:
        PHP-Code:
        $rziel $_GET["rziel"];
        $htyp $_GET["htyp"]; 
        Gruß

        Kommentar


        • #5
          Zitat von luckynuts Beitrag anzeigen
          Leider habe ich bei folgenden Code Probleme mit der Ausgabe der Ausgewählten Optionen
          Wieder einmal eine wahnsinnig präzise Problembeschreibung. Leider sind die Forumsregeln hier verschwunden, weshalb ich dich auch nicht auf diese aufmerksam machen kann.
          Auf das Problem hat dich dex ja schon klar hingewiesen. Und den von dir angeführten Link sollte man ignorieren, falls der nicht mehr nachgeführt wird. Wer heute noch mit register_globals = ON operiert, wird sehr schnell anstehen. Die meisten Provider unterstützen das nicht mehr (das ist auch bei dir der Fall) und bei PHP6 wird das definitiv wegfallen.
          Gruss
          L

          Kommentar


          • #6
            Edit: Derzeit arbeite ich mit einem localen Xampp server.
            Dann google ich mal wo ich das ganze deaktiviere.

            Zur Problembeschreibung: Leider weis ich nicht wie ich diese Detailierter geben kann, weil ich mich nohc nicht gut in php auskenne und daher nicht weis was los ist.

            Kommentar


            • #7
              Du sollst das nicht aktivieren, sondern deinen Code entsprechend anpassen, so wie dex es dir gezeigt hat. Eine Beschreibung dazu gibt es z.B. bei PHP::BAR
              Gruss
              L

              Kommentar


              • #8
                ich denke das kann dir weiterhelfen


                PHP-Code:

                <form name="test" action="" method="post">
                <
                input type="text" name="anzahl" value="" />
                <
                select name="option1">
                <
                option value="10">10</option>
                </
                select>
                <
                select name="option2">
                <
                option value="10">10</option>
                </
                select>
                <
                input type="submit" name="senden" value="senden"  />


                </
                form>


                if(isset(
                $_POST['senden'])){

                $ergebnis $_POST['anzahl'] * ($_POST['option1']+$_POST['option2']);

                }

                echo 
                $ergebnis

                Kommentar


                • #9
                  @reliC

                  Dein Code würde einen Error rausbringen, sowas wie: Undefined T_variable

                  PHP-Code:
                  if(isset($_POST['senden']))  {
                  $ergebnis $_POST['anzahl'] * ($_POST['option1']+$_POST['option2']);
                  echo 
                  "Ergebnis: ".$ergebnis

                  So stimmts

                  Kommentar


                  • #10
                    Zitat von dex Beitrag anzeigen
                    @reliC

                    Dein Code würde einen Error rausbringen, sowas wie: Undefined T_variable

                    PHP-Code:
                    if(isset($_POST['senden']))  {
                    $ergebnis $_POST['anzahl'] * ($_POST['option1']+$_POST['option2']);
                    echo 
                    "Ergebnis: ".$ergebnis

                    So stimmts

                    hehe ich glaube nicht :P habe das aufm server kurz getestet bei mir und da kommt kein fehler wieso denn auch? alles was du grad geändert hast is ein String davor noch ausgeben "Ergebnis:" und ob bei meiner Ausgabe nur die zahl steht oder noch davor ein "Ergebnis:" + Zahl is ja im prinzip egal oder nich?

                    Kommentar


                    • #11
                      Nein. Der relevante Unterschied ist die Ausgabe, die jetzt innerhalb des if Blocks steht. Und der "Fehler" ist genau genommen eine Notice und wird bei der error_reporting Option E_STRICT ausgegeben werden.
                      --

                      „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


                      • #12
                        args stimmt sry hab ich dann übersehen entschuldige mich dann dafür *G* hab den notice nicht gesehen weil ich kein eben error_reporting nicht anhatte. Naja jeder macht ma fehler nicht :> dann ma danke fürs korriegieren

                        Kommentar

                        Lädt...
                        X