Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Undefined variable
Forum PHP.pl > Forum > Przedszkole
leonard
Witam,

kończę robić prosty sklep w PHP i SQL, ostatnio przeskoczyłem na win 7 64 bit i krasnal na którym dotychczas pracowałem nie zainstaluje się, po instalacji XAMPP pojawiły się ostrzeżenia:

Notice: Undefined variable: total in C:\xampp\htdocs\dp2\cart.php on line 71 (niby nie jest to błąd ale trochę wkurzające i chyba nie powinno tak być)

Podaję kod:

  1. function cart() {
  2.  
  3. foreach($_SESSION as $name => $value) {
  4. if ($value>0) {
  5. if (substr($name, 0, 5)=='cart_') {
  6. $id = substr($name, 5, (strlen($name)-5));
  7. $get = mysql_query('SELECT id, name, price FROM wizytowki WHERE id='.mysql_real_escape_string((int)$id));
  8. while ($get_row = mysql_fetch_assoc($get)) {
  9. $sub = $get_row['price']*$value;
  10. echo $get_row['name'].' x '.$value.' kpl <br> '.number_format($sub, 2).'zł netto <a href="cart.php?remove='.$id.'">[-]</a><a href="cart.php?add='.$id.'">[+]</a><a href="cart.php?delete='.$id.'">Delete</a><br /><br>';
  11. }
  12. }
  13.  
  14. $total += $sub; // TU zgłasza błąd !!!!
  15. }
  16. }
  17. //if (isset ($total==0)) {
  18. if($total==0) {
  19. echo "Twój koszyk jest jeszcze pusty";
  20. }
  21. else {
  22. echo '<h6>Suma: '.number_format($total, 2).' zł netto</h6>';
  23. echo '<p>
  24. <center><a href="zamowienie.php"><button><img src="zamow.png" width="130" height="30" alt="Kliknij tutaj"/></button></a></center>
  25. </p>';
  26. }
  27. }
  28. ?>
  29.  
  30. <?php


Trochę raczkuję w PHP jestem totalnym samoukiem i w niektórych miejscach może brakować mi podstaw ale może ktoś wie co jest nie tak, szukałem na necie ale to co znalazłem dalej generuje błędy albo po zastosowaniu:
$total = empty($sub)? '0' : $sub;
zmienna total źle liczy (sumuje tylko jedną pozycję z SQL, ale błąd znika)

BTW: na krasnalu nie było żadnych błędów




markonix
Na krasnalu nie było bo miałeś je wyłączone.
Daj przed pętlą
  1. $total = 0;
leonard
no właśnie niby wszystko ok ale zmienna total przestaje liczyć prawidłowo (nie sumuje wszystkiego z SQL tylko jedną pozycję)
wyzerować total w innym miejscu?

  1. function cart() {
  2.  
  3. foreach($_SESSION as $name => $value) {
  4. if ($value>0) {
  5. if (substr($name, 0, 5)=='cart_') {
  6. $id = substr($name, 5, (strlen($name)-5));
  7. $get = mysql_query('SELECT id, name, price FROM wizytowki WHERE id='.mysql_real_escape_string((int)$id));
  8. while ($get_row = mysql_fetch_assoc($get)) {
  9. $sub = $get_row['price']*$value;
  10. echo $get_row['name'].' x '.$value.' kpl <br> '.number_format($sub, 2).'zł netto <a href="cart.php?remove='.$id.'">[-]</a><a href="cart.php?add='.$id.'">[+]</a><a href="cart.php?delete='.$id.'">Delete</a><br /><br>';
  11. }
  12. }
  13.  
  14. $total = 0;
  15. $total += $sub;
  16. }
  17. }
  18. if($total==0) {
  19. echo "Twój koszyk jest jeszcze pusty";
  20. }
  21. else {
  22. echo '<h6>Suma: '.number_format($total, 2).' zł netto</h6>';
  23. echo '<p>
  24. <center><a href="zamowienie.php"><button><img src="zamow.png" width="130" height="30" alt="Kliknij tutaj"/></button></a></center>
  25. </p>';
  26. }
  27. }
  28. ?>
markonix
Przeczytaj proszę jeszcze raz co napisałem o umiejscowieniu tej deklaracji.
leonard
Wszystko działa pięknie, dzięki wielkie
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.