PHP - błąd skryptu?

Masz średnik po if :stuck_out_tongue:

Czad :D. Programowanie potrafi zadziwić. Ostatnie to dlaczego godzina jest pokazywana 2 godziny w tył :D?

http://www.php.net/manual/pl/datetime.c … e.timezone

Drobok ok, Ale da się zmienić to w ustawieniach WAMPA SERWA gdzieś? Pamiętam na innym serwerze czas był dobry bez dodawania kolejnych lini kodu.

daj przed date date_default_timezone_set(‘Europe/Warsaw’);

Najlepiej w pliku php.ini

Tak doszedłem do tego, tyle, że to tak jak by nie działa.

Wycinek pliku php.ini.

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

date.timezone = "Europe/Warsaw"


; http://php.net/date.default-latitude

;date.default_latitude = 31.7667


; http://php.net/date.default-longitude

;date.default_longitude = "35.2333"


; http://php.net/date.sunrise-zenith

;date.sunrise_zenith = 90.583333


; http://php.net/date.sunset-zenith

;date.sunset_zenith = 90.583333

To jedną drogą, a kolejną to czy ten kod jest źle napisany? bo nie działa. Potrzebuje napisać krótki kodzik który by obniżał ceny w rzeczywistości

$wartosc = $iloscopon * CENAOPON *((100-$znizka)/100) // Zmiennej $wartość przypisujemy X * cena podana w stałych (define) 

+$iloscoleju * CENAOLEJU

+$iloscswiec * CENASWIEC;

W zmiennej $znizka są zapisane odpowiednie dane 5,10,15% w zależności od ilości zamówionych części. Problem w tym, że nie mogę obniżyć cen, bo ten kod ww. nie działa.

Zrobiłem sobie tak:

define("CENAOPON",100);

define("CENAOLEJU",50);

define("CENASWIEC",10);

$iloscopon=2;

$znizka=10;

$iloscoleju=1;

$iloscswiec=1;


echo $wartosc = $iloscopon * CENAOPON *((100-$znizka)/100) // Zmiennej $wartość przypisujemy X * cena podana w stałych (define) 

+$iloscoleju * CENAOLEJU

+$iloscswiec * CENASWIEC;

i działa bez dobrze (wyświetla się 240). Więc ten fragment kodu, który podajesz jest poprawny, tylko coś wcześniej masz może źle. A jakie błędy Ci pokazuje?

No nie wiem, błędami nie sypie, ale nie zaniża, np przy wpisaniu 100 do formularza. ( nim przesyłam) po 100 zł wychodzi 10000zł + 23% 12,300 zł a powinno być o 15% mniej.

To może gdzieś przy przesyłaniu, lub odczycie przesłanych danych dochodzi do przekłamania, bo wypróbuj mój kod, działa poprawnie, czyli jeśli dane są poprawne to i kod działa dobrze, a idąc tym tropem to by znaczyło, że ten kod dostaje niepoprawne dane. Wyświetl sobie na ekran wszystkie zmienne tuż przed tym kodem i zobacz jakie mają wartości (ten artykuł może Ci się przydać: http://www.dobreprogramy.pl/slepciu/Sprawdzamy-co-kryja-zmienne-w-PHP,31008.html). Sprawdź na wszelki wypadek, czy kod, który podałem, rzeczywiście działa tak jak oczekujesz, bo może coś źle zrozumiałem.

Super artykuł, jutro posprawdzam zmienne, wartości jakie kryją, potem wyedytuję posta, jeżeli będzie konieczność zadanie kolejnego pytania :slight_smile:

Dodane 07.06.2012 (Cz) 13:47

Sprawdzałem, kod twój dobrze działa. Wykazuje 240 zamiast 260. Kod troszkę odchudziłem ze względu, że miały być to tylko obniżki na opony, co nie zmienia faktu , że przy 10 kompletach opon powinno być 5% zniżki a nie uwzględnia jej w ogóle, wychodzi 1230 zł 10x100 + 23% podatku. funkcją isset sprawdzałem czy są dane w zmiennej i są. Tak, że dane dobrze z formularza są odczytywane. Może dać formularz i cały kod php wtedy sprawdził byś u siebie?