PHP - błąd skryptu?


(Boshi) #1

(Drobok) #2

Masz średnik po if :stuck_out_tongue:


(Boshi) #3

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


(Damgora) #4

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


(Boshi) #5

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.


(Drobok) #6

daj przed date date_default_timezone_set('Europe/Warsaw');


(Damgora) #7

Najlepiej w pliku php.ini


(Boshi) #8

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.


(slepciu) #9

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?


(Boshi) #10

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.


(slepciu) #11

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.


(Boshi) #12

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?