Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]funkcja define
Forum PHP.pl > Forum > Przedszkole
Mefiuu
Witam. Próbuję uczyć się języka php z książki Vademecum profesjonalisty php część 3. Zrobiłem skrypt (po części przepisałem, po części się domyślałem co do czego). Doszło do funkcji define. Wklepałem kod:
Kod
<html>
<head>
  <title>Części samochodowe Janka — wyniki zamówienia</title>
</head>
<body>
<h1>Części samochodowe Janka</h1>
<h2>wyniki zamówienia</h2>
<?php
   $iloscopon = $_POST['iloscopon'];
   $iloscoleju = $_POST['iloscoleju'];
   $iloscswiec = $_POST['iloscswiec'];
   echo "<p> Zamówienie przyjęte o</p>";
   echo date('H:i jS F');
   echo '<p>Państwa zamówienie wygląda następująco: </p>';
   echo "$iloscopon opon<br />";
   echo $iloscoleju.' butelek oleju<br />';
   echo $iloscswiec.' świec zapłonowych<br />';

   $ilosc = 0;
   $ilosc = $iloscopon + $iloscoleju + $iloscswiec;
   echo 'Zamówiono '.$ilosc.' części<br />';

   $wartosc = 0.00;

   define('CENAOPON'. 100);
   define('CENAOLEJU'. 10);
   define('CENASWIEC'. 4);

   $wartosc = $iloscopon * CENAOPON + $iloscoleju * CENAOLEJU + $iloscswiec * CENASWIEC;

   echo 'Cena netto: '.number_format(wartosc. 2).' PLN<br />';

   $stawkavat = 0.22;
   $wartosc = $wartosc * (1 + $stawkavat);
   echo 'Cena brutto: '.number_format($wartosc. 2).' PLN<br />';

?>
</body>
</html>


i w tym kodzie wywala mi błąd w miejscu defina. No i co tu jest źle?
ikssde
Po nazwie nie kropka tylko przecinek
Mefiuu
hmmm... rzeczywiście podziałało, nie ma błędów, ale teraz nie zlicza mi wartości netto produktów. Tylko brutto. netto = 0
Gość
Mam podobny problem jednak u mnie wszystko jak w przykładzie załączonym do książki. Wszystko mam tak jak powyżej natomiast od funkcji define() już trochę inaczej:

define('CENAOPON', 100);
define('CENAOLEJU', 10);
define('CENASWIEC', 4);



$wartosc = $iloscopon*CENAOPON + $iloscoleju*CENAOLEJU + $iloscswiec*CENASWIEC;
//46

echo 'Cena netto: ' . $wartosc . ' PLN<br />';

$stawkavat = 0.22;
$wrtosc = $wartosc*(1+$stawkavat);

echo 'Cena brutto: ' . $wartosc . 'PLN<br />';



?>

Błąd wyrzuca mi w linii z funkcją define() i nie mam pojęcia o co chodzi :/. Przykłady robię sobie na serwerze cba.pl chociaż nie wiem czy ma to jakiekolwiek znaczenie.
gosc
Cóż przekleiłem kod z przykładu do skryptu i tym razem już jednak chodzi niestety jakich wartości bym nie wpisał w formularzu to ilość zamówionych części jest nieznana ( w miejscu echo $iloscopon.' opon<br />'; wyrzuca po przekompilowaniu po prostu "opon" i nic poza tym, żadnych wartości).

  1. <html>
  2. <head>
  3. <title>Części samochodowe Janka — wyniki zamówienia</title>
  4. </head>
  5. <body>
  6. <h1>Części samochodowe Janka</h1>
  7. <h2>Wyniki zamówienia</h2>
  8. <?php
  9.  
  10. echo '<p>Zamówienie przyjęte o ';
  11. echo date('H:i, jS F Y');
  12. echo '</p>';
  13.  
  14. echo '<p>Zamówienie Państwa wygląda następująco: </p>';
  15. echo $iloscopon.' opon<br />';
  16. echo $iloscoleju.' butelek oleju<br />';
  17. echo $iloscswiec.' świec zapłonowych<br />';
  18.  
  19. $ilosc = 0;
  20. $wartosc = 0.00;
  21.  
  22. $ilosc = $iloscopon + $iloscoleju + $iloscswiec;
  23. echo 'Zamówionych części: '.$ilosc.'<br />';
  24.  
  25. $wartosc = 0.00;
  26.  
  27. define('CENAOPON', 100);
  28. define('CENAOLEJU', 10);
  29. define('CENASWIEC', 4);
  30.  
  31. $wartosc = $iloscopon * CENAOPON
  32. + $iloscoleju * CENAOLEJU
  33. + $iloscswiec * CENASWIEC;
  34.  
  35. echo 'Cena netto: '.number_format($wartosc, 2).' PLN<br />';
  36.  
  37. $stawkavat = 0.22; // stawka VAT wynosi 22%
  38. $wartosc = $wartosc * (1 + $stawkavat);
  39. echo 'Cena brutto: '.number_format($wartosc, 2).' PLN<br />';
  40.  
  41. ?>
  42.  
  43. </body>
  44. </html>


prowseed
Bo ilosc opon nie jest z nikąd pobierana i ma wartość NULL

Domyslam sie, ze dane wysylasz w tablicy post
Na początku skryptu wpisz cos takiego:
  1. $iloscopon = $_POST['iloscopon'];


I odpowiednio zmien kod dla oleju i swiec

Poza tym nie musisz dwa razy zerowac zmiennej
$wartosc = 0.00;
Ah, i nie zapominaj, ze
$stawkavat = 0.23;
wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.