Ankündigung

Einklappen
Keine Ankündigung bisher.

Notice: Indefined Variable Message? Ich bekomme die dinger nicht weg

Einklappen

Neue Werbung 2019

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

  • Notice: Indefined Variable Message? Ich bekomme die dinger nicht weg

    Hallo an die Community,

    vielleicht könnt Ihr mir helfen, wir haben derzeit in der Berufsschule PHP und programmieren da einige Scripte. Im moment habe ich einen Script der mich ärgern will und ich komm einfach nicht drauf wieso mir diese "Notice: Undefined Variable" Messages im Firefox, Internet-Explorer, eigentlich in allen Browsern angezeigt wird. Ich wäre euch für tipps und tricks und für die Problemlösung sehr dankbar. Vielleicht sieht jemand das Problem? Bin leider blutiger Anfänger


    Der Code sieht wie folgt aus:

    PHP-Code:
    <html>

    <head>

    <meta charset="utf-8">
    <title>serverraum.php</title>
    <style> table, td; th { border: 1px solid black; } </style>

    </head>

    <body>

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

    <label>Listenpreis: <input id="listenpreis" name="listenpreis" size= 10> € </label>
    <label>Lieferrabatt: <input id="lieferrabatt" name="lieferrabatt" size= 10> % </label>
    <label>Lieferskonto: <input id="lieferskonto" name="lieferskonto" size= 10> % </label>
    <label>Bezugskosten: <input id="bezugskosten" name="bezugskosten" size= 10> € </label>
    <label>Handlungskostenzuschlag: <input id="handlungskostenzu" name="handlungskostenzu" size= 10> % </label>

    <input type="submit" name="submit" value="Berechnen">

    </form>

    <?php




    $listenpreis 
    $_POST['listenpreis']; #Artikelpreis in Euro
    $lieferrabatt $_POST['lieferrabatt']/100#Lieferrabatt in Prozent
    $lieferskonto $_POST['lieferskonto']/100#Lieferskonto in Prozent
    $bezugskosten $_POST['bezugskosten']; #Euro
    $handlungskostenzu $_POST['handlungskostenzu']/100#Handlungskostenzuschlag in Prozent


    $zieleinkaufspreis$listenpreis - ($listenpreis*$lieferrabatt); #Zieleinkaufspreis
    $bareinkaufspreis$zieleinkaufspreis - ($listenpreis*$lieferskonto); #Bareinkaufspreis
    $bezugspreis$bareinkaufspreis $bezugskosten#Bezugspreis
    $selbstkosten$bezugspreis + ($bezugspreis*$handlungskostenzu); #Selbstkosten


    #printf("Listenpreis: %.2f &#8364 <br> Zieleinkaufspreis: %.2f &#8364 <br> Bareinkaufspreis: %.2f &#8364 <br> Bezugspreis: %.2f &#8364<br> Selbstkosten: %.2f &#8364 <br>", $listenpreis, $zieleinkaufspreis, $bareinkaufspreis, $bezugspreis, $selbstkosten);

    ?>



    <!--Tabelle-->

    <table>

    <tr>
    <td>Listenpreis</td>
    <td><?php printf(" %.2f &#8364"$listenpreis); ?></td>
    </tr>

    <tr>
    <td>Zieleinkaufspreis</td>
    <td><?php printf(" %.2f &#8364"$zieleinkaufspreis); ?></td>
    </tr>

    <tr>
    <td>Bareinkaufspreis</td>
    <td><?php printf(" %.2f &#8364"$bareinkaufspreis); ?></td>
    </tr>

    <tr>
    <td>Bezugspreis</td>
    <td><?php printf(" %.2f &#8364"$bezugspreis); ?></td>
    </tr>

    <tr>
    <td>Selbstkosten</td>
    <td><?php printf(" %.2f &#8364"$selbstkosten); ?></td>
    </tr>

    </table>

    </body>

    </html>
    Das Bild habe ich dran gehängt als Anhang.


    Danke im voraus für Eure Hilfe.

    Mfg
    Chris

  • #2
    Sorry ich wollte Undefined Variable schreiben, hab den Fehler gerade endeckt.

    Kommentar


    • #3
      Jo, die Variable ist - wie die Meldung besagt - nicht definiert (=unbekannt).

      Bitte künftig Code-Tags verwenden, ich mach oben mal. Danke!

      Kommentar


      • #4
        Danke für deine schnelle Antwort, aber da ich blutiger Anfänger bin versteh ich nicht was du mir mit Code Tags sagen willt evtl. hast du lust mir das zu Zeigen oder den Code auszubessern damit ich den vergleichen kann. Ich wäre dir sehr dankbar. Vielen dank hausl.

        Kommentar


        • #5
          Wie kann ich den so einen Code-Tag setzen wäre noch super zu wissen. Danke.

          Kommentar


          • #6
            Code Tags haben nichts mit Php zu tun. Sie sind dafür da, dass dein Php-Code hier im Forum ordentlich dargestellt wird. Du findest sie wenn du auf den erweiterten Editor klickst.

            Zum eigentlichen Problem. Die Fehler werden dir vermutlich immer dann ausgegeben wenn dud as Formular noch nicht abgesendet hast, richtig?
            Du machst gerade immer das gleiche, unabhängig davon ob das Formular abgesendet wurde oder nicht, -> du gibst Variablen aus in denen garnichts drinsteht.

            ein
            PHP-Code:
            if(isset($_POST['submit'])) 
            wird dir helfen, wo du das einbauen musst darfst du selbst herausfinden

            Kommentar


            • #7
              Hi ChromOxid,

              danke für deine schnelle Antwort. Ich habe deinen Vorschlag eben umgesetzt jedoch ohne Erfolg. Immer wenn ich den PHP Script das erstemal über den Browser abrufe und nichts klicke und tippe werden mir die Meldungen wie am Bild zuvor angezeigt. Sobald ich aber den Berechnen Button einmal klicke sind die Fehler verschwunden und das Formular wird mir ohne Fehler angezeigt. Ich hab echt keine Ahnung mehr mein Latein ist am Ende.


              Vielen dank für deine Hilfe.

              Mfg
              Chris

              PHP-Code:
              <html>

                  <head>
                      
                      <meta charset="utf-8">
                      <title>serverraum.php</title>
                      <style> table, td; th { border: 1px solid black; } </style>
                      
                  </head>

                  <body>
                  
                      <form method="post" action="kalkulation.php">
                          
                          <label>Listenpreis: <input id="listenpreis" name="listenpreis" size= 10> € </label>
                          <label>Lieferrabatt: <input id="lieferrabatt" name="lieferrabatt" size= 10> % </label>
                          <label>Lieferskonto: <input id="lieferskonto" name="lieferskonto" size= 10> % </label>
                          <label>Bezugskosten: <input id="bezugskosten" name="bezugskosten" size= 10> € </label>
                          <label>Handlungskostenzuschlag: <input id="handlungskostenzu" name="handlungskostenzu" size= 10> % </label>
                          
                          <input type="submit" name="submit" value="Berechnen">
                      
                      </form>
                  
                      <?php
                      
                      
                          
              if (isset($_POST['submit'])) {
                      
                          
              $listenpreis $_POST['listenpreis'];                                                #Artikelpreis in Euro
                          
              $lieferrabatt $_POST['lieferrabatt']/100;                                            #Lieferrabatt in Prozent
                          
              $lieferskonto $_POST['lieferskonto']/100;                                            #Lieferskonto in Prozent
                          
              $bezugskosten $_POST['bezugskosten'];                                                #Euro
                          
              $handlungskostenzu $_POST['handlungskostenzu']/100;                                #Handlungskostenzuschlag in Prozent
                          
                          
                          
              $zieleinkaufspreis$listenpreis - ($listenpreis*$lieferrabatt);                    #Zieleinkaufspreis
                          
              $bareinkaufspreis$zieleinkaufspreis - ($listenpreis*$lieferskonto);                #Bareinkaufspreis
                          
              $bezugspreis$bareinkaufspreis $bezugskosten;                                    #Bezugspreis
                          
              $selbstkosten$bezugspreis + ($bezugspreis*$handlungskostenzu);                    #Selbstkosten
                          
                          
                          
              }
                      
              ?>
                      

                      
                      <!--Tabelle-->
                      
                      <table>
                          
                          <tr>
                              <td>Listenpreis</td>
                              <td><?php printf(" %.2f &#8364"$listenpreis); ?></td>
                          </tr>
                      
                          <tr>
                              <td>Zieleinkaufspreis</td>
                              <td><?php printf(" %.2f &#8364"$zieleinkaufspreis); ?></td>
                          </tr>
                      
                          <tr>
                              <td>Bareinkaufspreis</td>
                              <td><?php printf(" %.2f &#8364"$bareinkaufspreis); ?></td>
                          </tr>
                          
                          <tr>
                              <td>Bezugspreis</td>
                              <td><?php printf(" %.2f &#8364"$bezugspreis); ?></td>
                          </tr>
                          
                          <tr>
                              <td>Selbstkosten</td>
                              <td><?php printf(" %.2f &#8364"$selbstkosten); ?></td>
                          </tr>
                          
                      </table>

                  </body>

              </html>

              Kommentar


              • #8
                Weil du auf Variablen zugreifst, die nicht existieren.

                Du solltest in einem if-Block niemals Variablen erstellen, die außerhalb des if-Blocks verwendet werden. Erstelle die Variablen außerhalb.

                Beachte außerdem das EVA-Prinzip. Die Verarbeitung gehört vor die HTML-Ausgabe und nicht mitten drin.

                Kommentar


                • #9
                  hellbringer wenn er die Variablen aussen erstellt steht er wieder vor dem selben Problem wie vorher.

                  Die Tabelle muss mit ins if rein, so greifst du ja immernoch auf die Werte zu.

                  Für Sauberkeit und größere Projekte solltest du aufjedenfall das EVA-Prinzip beachten, bei so einem kleinen Schnipsel der schätzungsweise doch so alleine stehen bleibt? Finde ich das als Anfänger nicht unbedingt notwendig.

                  Kommentar


                  • #10
                    Hi Hellbringer,

                    danke für die schnelle Antwort. Ich habe deinen Tipp befolgt aber das Problem ist noch das gleiche. Ich verzweifle bald hier. Seit 3 Tagen versuch ich alles aber ohne Erfolg. Hier nochmal der Code ohne if-Blocks, immernoch das gleiche, ständig die NOTICE Messages wie auf dem Bild das ich ganz oben angehängt habe.


                    Mfg
                    Chris

                    PHP-Code:
                    <html>

                        <head>
                            
                            <meta charset="utf-8">
                            <title>kalkulation.php</title>
                            <style> table, td; th { border: 1px solid black; } </style>
                            
                        </head>

                        <body>
                        
                            <form method="post" action="kalkulation.php">
                                
                                <label>Listenpreis: <input id="listenpreis" name="listenpreis" size= 10> € </label>
                                <label>Lieferrabatt: <input id="lieferrabatt" name="lieferrabatt" size= 10> % </label>
                                <label>Lieferskonto: <input id="lieferskonto" name="lieferskonto" size= 10> % </label>
                                <label>Bezugskosten: <input id="bezugskosten" name="bezugskosten" size= 10> € </label>
                                <label>Handlungskostenzuschlag: <input id="handlungskostenzu" name="handlungskostenzu" size= 10> % </label>
                                
                                <input type="submit" name="submit" value="Berechnen">
                            
                            </form>
                        
                            
                            <?php
                            
                            
                                
                            
                                $listenpreis 
                    $_POST['listenpreis'];                                                           #Artikelpreis in Euro
                                
                    $lieferrabatt $_POST['lieferrabatt']/100;                                                    #Lieferrabatt in Prozent
                                
                    $lieferskonto $_POST['lieferskonto']/100;                                                 #Lieferskonto in Prozent
                                
                    $bezugskosten $_POST['bezugskosten'];                                                #Euro
                                
                    $handlungskostenzu $_POST['handlungskostenzu']/100;                          #Handlungskostenzuschlag in Prozent
                                
                                
                                
                    $zieleinkaufspreis$listenpreis - ($listenpreis*$lieferrabatt);                          #Zieleinkaufspreis
                                
                    $bareinkaufspreis$zieleinkaufspreis - ($listenpreis*$lieferskonto);                #Bareinkaufspreis
                                
                    $bezugspreis$bareinkaufspreis $bezugskosten;                                     #Bezugspreis
                                
                    $selbstkosten$bezugspreis + ($bezugspreis*$handlungskostenzu);            #Selbstkosten
                                
                                
                                
                            
                    ?>
                            

                            
                            <!--Tabelle-->
                            
                            <table>
                                
                                <tr>
                                    <td>Listenpreis</td>
                                    <td><?php printf(" %.2f &#8364"$listenpreis); ?></td>
                                </tr>
                            
                                <tr>
                                    <td>Zieleinkaufspreis</td>
                                    <td><?php printf(" %.2f &#8364"$zieleinkaufspreis); ?></td>
                                </tr>
                            
                                <tr>
                                    <td>Bareinkaufspreis</td>
                                    <td><?php printf(" %.2f &#8364"$bareinkaufspreis); ?></td>
                                </tr>
                                
                                <tr>
                                    <td>Bezugspreis</td>
                                    <td><?php printf(" %.2f &#8364"$bezugspreis); ?></td>
                                </tr>
                                
                                <tr>
                                    <td>Selbstkosten</td>
                                    <td><?php printf(" %.2f &#8364"$selbstkosten); ?></td>
                                </tr>
                                
                            </table>

                        </body>

                    </html>

                    Kommentar


                    • #11
                      Ich habe nicht gesagt, dass du die if-Bedingung rausnehmen sollst. Außerdem beachtest du weiterhin das EVA-Prinzip nicht.

                      Böse:
                      PHP-Code:
                      if ($foo == 1) {
                          
                      $bar 2;
                      }

                      echo 
                      $bar
                      Gut:
                      PHP-Code:
                      $bar 0;

                      if (
                      $foo == 1) {
                          
                      $bar 2;
                      }

                      echo 
                      $bar

                      Kommentar


                      • #12
                        hellbringer sorry ich kann dir nicht mehr folgen, da ich leider zu wenig Programmierkenntnisse habe. Vllt. zeigst du mir das mal wie du das meinst, anhand meines Codes. Wäre super. Vielen Dank.

                        Kommentar


                        • #13
                          PHP-Code:
                          $listenpreis 0;      
                          $lieferrabatt 0;
                          $lieferskonto 0;
                          $bezugskosten 0;
                          $handlungskostenzu 0;

                          if (isset(
                          $_POST['submit'])) {      
                                 
                          $listenpreis $_POST['listenpreis'];                                                #Artikelpreis in Euro
                                 
                          $lieferrabatt $_POST['lieferrabatt']/100;                                            #Lieferrabatt in Prozent
                                 
                          $lieferskonto $_POST['lieferskonto']/100;                                            #Lieferskonto in Prozent
                                 
                          $bezugskosten $_POST['bezugskosten'];                                                #Euro
                                 
                          $handlungskostenzu $_POST['handlungskostenzu']/100;                                #Handlungskostenzuschlag in Prozent
                                      
                                      
                                 
                          $zieleinkaufspreis$listenpreis - ($listenpreis*$lieferrabatt);                    #Zieleinkaufspreis
                                 
                          $bareinkaufspreis$zieleinkaufspreis - ($listenpreis*$lieferskonto);                #Bareinkaufspreis
                                 
                          $bezugspreis$bareinkaufspreis $bezugskosten;                                    #Bezugspreis
                                 
                          $selbstkosten$bezugspreis + ($bezugspreis*$handlungskostenzu);                    #Selbstkosten

                          Kommentar


                          • #14
                            ChromOxid letzter Anlauf für heute wenn nicht macht es auch nichts aus. Ich habe deinen Versuch in die Praxis umgesetzt jedoch wieder ohne erfolg. BIN ICH SO DOOF? oder wie??

                            Top community das muss ich sagen sehr gute und schnelle Antworten.

                            Vielen Dank.

                            Mfg
                            Chris

                            PHP-Code:
                            <html>

                                <head>
                                    
                                    <meta charset="utf-8">
                                    <title>serverraum.php</title>
                                    <style> table, td; th { border: 1px solid black; } </style>
                                    
                                </head>

                                <body>
                                
                                    <form method="post" action="kalkulation.php">
                                        
                                        <label>Listenpreis: <input id="listenpreis" name="listenpreis" size= 10> € </label>
                                        <label>Lieferrabatt: <input id="lieferrabatt" name="lieferrabatt" size= 10> % </label>
                                        <label>Lieferskonto: <input id="lieferskonto" name="lieferskonto" size= 10> % </label>
                                        <label>Bezugskosten: <input id="bezugskosten" name="bezugskosten" size= 10> € </label>
                                        <label>Handlungskostenzuschlag: <input id="handlungskostenzu" name="handlungskostenzu" size= 10> % </label>
                                        
                                        <input type="submit" name="submit" value="Berechnen">
                                    
                                    </form>
                                
                                    
                                    <?php
                                    
                                        $listenpreis 
                            0;      
                                        
                            $lieferrabatt 0;
                                        
                            $lieferskonto 0;
                                        
                            $bezugskosten 0;
                                        
                            $handlungskostenzu 0;

                                        if (isset(
                            $_POST['submit'])) {
                                        
                                        
                            $listenpreis $_POST['listenpreis'];                                                #Artikelpreis in Euro
                                        
                            $lieferrabatt $_POST['lieferrabatt']/100;                                            #Lieferrabatt in Prozent
                                        
                            $lieferskonto $_POST['lieferskonto']/100;                                            #Lieferskonto in Prozent
                                        
                            $bezugskosten $_POST['bezugskosten'];                                                #Euro
                                        
                            $handlungskostenzu $_POST['handlungskostenzu']/100;                                #Handlungskostenzuschlag in Prozent
                                        
                                        
                                        
                            $zieleinkaufspreis$listenpreis - ($listenpreis*$lieferrabatt);                    #Zieleinkaufspreis
                                        
                            $bareinkaufspreis$zieleinkaufspreis - ($listenpreis*$lieferskonto);                #Bareinkaufspreis
                                        
                            $bezugspreis$bareinkaufspreis $bezugskosten;                                    #Bezugspreis
                                        
                            $selbstkosten$bezugspreis + ($bezugspreis*$handlungskostenzu);                    #Selbstkosten
                                        
                                        
                            }
                                        
                                    
                            ?>
                                    

                                    
                                    <!--Tabelle-->
                                    
                                    <table>
                                        
                                        <tr>
                                            <td>Listenpreis</td>
                                            <td><?php printf(" %.2f &#8364"$listenpreis); ?></td>
                                        </tr>
                                    
                                        <tr>
                                            <td>Zieleinkaufspreis</td>
                                            <td><?php printf(" %.2f &#8364"$zieleinkaufspreis); ?></td>
                                        </tr>
                                    
                                        <tr>
                                            <td>Bareinkaufspreis</td>
                                            <td><?php printf(" %.2f &#8364"$bareinkaufspreis); ?></td>
                                        </tr>
                                        
                                        <tr>
                                            <td>Bezugspreis</td>
                                            <td><?php printf(" %.2f &#8364"$bezugspreis); ?></td>
                                        </tr>
                                        
                                        <tr>
                                            <td>Selbstkosten</td>
                                            <td><?php printf(" %.2f &#8364"$selbstkosten); ?></td>
                                        </tr>
                                        
                                    </table>

                                </body>

                            </html>

                            Kommentar


                            • #15
                              Du erstellst $zieleinkaufspreis, usw. im if-Block und nicht außerhalb.

                              Kommentar

                              Lädt...
                              X