2017-01-12 3 views
0

also versuche ich, etwas PHP-Code zu arbeiten, und der Code ist entsprechend dem Buch. Aber, wenn ich den Rabatt auf dieses Programm berechne, sind die Berechnungen gut, aber der Name erscheint nicht. Das ist verrückt, weil alles genau so ist, wie es im Buch ist ...Wie bekomme ich die Produktbeschreibung (Name) angezeigt?

Kann ich einen zweiten Satz bekommen Augen, um mir dabei zu helfen? Ich werde einige Bilder und meinen Code zur Verfügung stellen. Diese

ist vor allem berechnet: This is before everything is calculated

Dies ist nach allem, was berechnet wird ("Guitar" soll die Produktbeschreibung neben erscheinen):

This is after everything is calculated

Dieser Code ist die HTML-Vorlage, bevor alles berechnet wird:

<!DOCTYPE html> 
<html> 

<head> 
    <title> Product Discount Calculator</title> 
    <link rel="stylesheet" type="text/css" href="main.css"> 
</head> 

<body> 
    <main> 
     <h1>Product Discount Calculator (Complete)</h1> 
     <form action="display_discount.php" method="post"> 
      <div id="data"> 
       <label>Product Description</label> 
       <input type="text" name="product_description"><br> 

       <label>List Price</label> 
       <input type="text" name="list_price"><br> 

       <label>Discount Percent:</label> 
       <input type="text" name="discount_percent"><span>%</span><br> 
      </div> 

      <div id="buttons"> 
       <label>&nbsp;</label> 
       <input type="submit" value="Calculate Discount"><br> 
     </form> 
    </main> 
</body> 
</html> 

Dies Code zeigt den Rabatt und alles, nachdem er berechnet wurde:

<?php 
    //get data from the form 
    $product_description = filter_input(INPUT_POST, 'product _description'); 
    $list_price = filter_input(INPUT_POST, 'list_price'); 
    $discount_percent = filter_input(INPUT_POST, 'discount_percent'); 

    //Calculate the discount 
    $discount = $list_price * $discount_percent * .01; 
    $discount_price = $list_price - $discount; 

    //apply currency formatting to the dollar and percent amounts 
    $list_price_f = "$".number_format($list_price, 2); 
    $discount_percent_f = $discount_percent."%"; 
    $discount_f = "$".number_format($discount, 2); 
    $discount_price_f = "$".number_format($discount_price, 2); 

?> 

<!DOCTYPE html> 
<html> 

<head> 
    <title> Product Discount Calculator (Complete)</title> 
    <link rel="stylesheet" type="text/css" href="main.css"> 
</head> 

<body> 
    <main> 
     <h1> Product Discount Calculator</h1> 
       <label>Product Description:</label> 
       <span><?php echo htmlspecialchars($product_description); ?></span> 
       <br> 

       <label>List Price:</label> 
       <span><?php echo htmlspecialchars($list_price_f); ?></span><br> 

       <label>Standard Discount:</label> 
       <span><?php echo htmlspecialchars($discount_percent_f); ?></span><br> 

       <label>Discount Amount:</label> 
       <span><?php echo $discount_f; ?></span><br> 

       <label>Discount Price:</label> 
       <span><?php echo $discount_price_f; ?></span><br> 
    </main> 
</body> 
</html> 
+0

Sie nie den Variable '$ PRODUCT_DESCRIPTION gesetzt zu allem. Es wird in '$ _POST ['product_description'] 'sein, wenn der Benutzer Ihr Formular abschickt. – ceejayoz

+0

Habe gerade festgestellt, dass der Code abgeschnitten wurde. Das tut mir leid. Ich habe meinen Post bearbeitet, damit der ganze Code angezeigt werden kann. – HawkBlade124

Antwort

1

, die nicht der ganze Code sein können: Die post-Ergebnisse sind nicht überall

Es muss sein, eine Linie $product_description = $_POST['product_description']; vor dem zweiten Teil geholt irgendwo, um den Wert aus dem Eingabefeld product_description in die Variable zu bekommen.

ADDITION NACH fügter Frage CODE IN:

Sie haben einen zusätzlichen (falschen) Platz drin:

$product_description = filter_input(INPUT_POST, 'product _description'); 

es entfernen:

$product_description = filter_input(INPUT_POST, 'product_description'); 
+0

Habe gerade festgestellt, dass der Code abgeschnitten wurde. Das tut mir leid. Ich habe es jetzt bearbeitet, um den gesamten Code anzuzeigen. – HawkBlade124

+0

siehe die Ergänzung zu meiner Antwort – Johannes

+0

Vielen Dank für Ihre Hilfe! Dumme Tippfehler. Haha. – HawkBlade124

Verwandte Themen