Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V  < 1 2 3 >  
Reply to this topicStart new topic
> Najczęstsze błędy, Zanim zapytasz, to sprawdź.
Turgon
post 7.10.2006, 10:12:41
Post #21





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Błąd który ostatnio doprowadził mnie do białej gorączki !
Nigdy nie umieszczajcie zamykania połączenia do bazy danych w DAO w destruktorze, bo zaczynają się dziać dziwne rzeczy.


--------------------
Jah Music Is On My Mind !
Go to the top of the page
+Quote Post
mariuszn3
post 7.10.2006, 13:40:49
Post #22





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

Ostrzeżenie: (0%)
-----


Cytat(Turgon @ 7.10.2006, 11:12:41 ) *
Błąd który ostatnio doprowadził mnie do białej gorączki !
Nigdy nie umieszczajcie zamykania połączenia do bazy danych w DAO w destruktorze, bo zaczynają się dziać dziwne rzeczy.

A czym jest u Ciebie DAO? Globalną klasą do opracji na bazie czy raczej klasą dotyczącą jednego obiektu (to znaczy masz wiele klas DAO w aplikacji).
Na czym polegają te dziwne rzeczy? U siebie mam wpisane zamknięcie połączenia w destructor globalnej klasy (singleton) dostępu do bazy i problem miałem jedynie przy obecności innego globalnego singletona posiadającego destructor (jeśli ten inny wywoływał się jako pierwszy i przykładowo wykrzaczał się.. destruktor klasy dostępu do bazy już nie był wykonywany, jeśli jako drugi nie było już dostępu do bazy).
Go to the top of the page
+Quote Post
Turgon
post 11.10.2006, 13:38:15
Post #23





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Tak mam klasę DAO pozwalająca na dostęp do bazy tzn. Execute, connect etc.
Ale nie udostępnia funkcji query. Więc tak.
Po prostu błąd był z sesjami które mam w mySQL. I tu nagle mi się połączenie zamykało.


--------------------
Jah Music Is On My Mind !
Go to the top of the page
+Quote Post
fx69
post 21.12.2006, 20:13:56
Post #24





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 8.10.2006
Skąd: świat astralny

Ostrzeżenie: (0%)
-----


ja w tym tygodniu stoczyłem istną batalię z własnym skryptem, który uparcie nie chciał się poprawnie wykonać... problem polegał na tym, że tworząc 3 funkcje, operujące na tym samym id połączenia (tzn. tym co zwraca np. funkcja mysql_query winksmiley.jpg ), przy wywołaniu tylko jedna (pierwsza) działała poprawnie.

wizualizując:

  1. <?php
  2. function x($id_polaczenia) {
  3. $wartosc_koncowa_x = 0;
  4.  
  5. while($rowx=mysql_fetch_row($id_polaczenia))
  6. $wartosc_koncowa_x += $rowx[4] * $rowx[5];
  7.  
  8. return $wartosc_koncowa_x;
  9. }
  10.  
  11. function y($id_polaczenia) {
  12. $wartosc_koncowa_y = 0;
  13.  
  14. while($rowx=mysql_fetch_row($id_polaczenia))
  15.  
  16. ...
  17.  
  18. $wartosc_koncowa_y += $a * $rowx[5];
  19.  
  20. return $wartosc_koncowa_y;
  21. }
  22. ?>


i wywołanie:

  1. <?php
  2. $sql = mysql_query("SELECT * FROM ...");
  3.  
  4. ...
  5.  
  6. $wart_x = x($sql); //zwracało poprawną wartość
  7. $wart_y = y($sql);  //zwracało 0
  8. ?>


może dla kogoś wydawać się oczywiste gdzie jest błąd, ale pisze to dla tych osób, które mają podobny problem i już są gotowi wyrzucić komputer przez okno, bo całe źródło wygląda dobrze napisane, a błąd jak jest tak jest...

do rzeczy.
operując na tym samym zapytaniu (id połączenia) trzeba pamiętać, że funkcja mysql_fetch_row (i jej alternatywy) ma wewnętrzny wskaźnik, który jest przesuwany po kolejnych wierszach wyniku zapytania. właśnie dlatego pierwsza funkcja zawsze działała. W drugiej wskaźnik był już ustawiony na nieistniejącym wierszu, więc y($sql) zwracało 0.
żeby temu zapobiec należało "ręcznie" ustawiać wskaźnik na pierwszy wiersz. Konkretnie rzecz biorąc, chodziło o funkcję mysql_data_seek:

  1. <?php
  2. function x($id_polaczenia) {
  3. $wartosc_koncowa_x = 0;
  4.  
  5. mysql_data_seek($id_polaczenia, 0); //tak samo w pozostałych funkcjach
  6.  
  7. while($rowx=mysql_fetch_row($id_polaczenia))
  8. ...
  9. ?>


Ten post edytował fx69 22.12.2006, 11:23:50
Go to the top of the page
+Quote Post
dr_bonzo
post 21.12.2006, 20:44:51
Post #25





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Cytat
funkcja mysql_fetch_row (i jej alternatywy) ma wewnętrzny wskaźnik, który jest przesuwany po kolejnych wierszach wyniku zapytania. właśnie dlatego pierwsza funkcja zawsze działała

Nie zupelnie.
To rezultat (wynik) zapytania (SELECT ...) ma ten wskaznik nie funkcja.

Poza tym po co ci dwie identyczne funkcje i co chciales osiagnac?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
fx69
post 22.12.2006, 11:13:05
Post #26





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 8.10.2006
Skąd: świat astralny

Ostrzeżenie: (0%)
-----


Cytat
To rezultat (wynik) zapytania (SELECT ...) ma ten wskaznik nie funkcja.


Rzeczywiście... dzięki za uwagę.

Cytat
po co ci dwie identyczne funkcje i co chciales osiagnac?


Temat: niesforny return w funkcji

w końcu (desperacko szukając błędu) zrobiłem z tego klase i 3 funkcje.

te wyżej ( x(), y() ) są po prostu zwykłymi, teoretycznymi przykładami.

edit: faktycznie obie były identyczne smile.gif zmieniłem.

Ten post edytował fx69 22.12.2006, 11:24:59
Go to the top of the page
+Quote Post
potreb
post 26.01.2008, 00:01:06
Post #27





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Już tak często pojawiają się problemy z kodowaniem w utf-8, że mam dość pisania ciąglę to samo.

Dla utf-8 najważniejsze rzeczy:

1. Dla połączenia z bazą ustawic set names:
  1. <?php
  2. mysql_connect($DBhost,$DBuser,$DBpass);
  3. mysql_query("SET NAMES utf8");
  4. mysql_select_db($DBname);
  5. ?>


2. Sprawdzić czy pliki zostały zapisane w utf-8.
Do tego nie służy Notatnik (Notepad) tylko Notepad2 gdzie jest funkcja konwertowania lub UltraEdit 32 i EditPlus i może wiele innych.

3. Skoro mamy już te 2 rzeczy, trzeba pamiętać o najważniejszym, ustawić dla bazy kodowanie utf-8. Jest to możliwe od wersji 4.1 mysql-a. Trzeba pamiętać że tabele powinny mieć porównywanie napisów w utf8_unicode_ci.

4. Kodowanie dla strony:
Jeżeli zwykła meta nie działa:
Kod
<meta http-equiv="content-type" content="text/html; charset=utf-8">


Dodać można jeszcze:
  1. <?php
  2. header( 'Content-Type: text/html; charset=utf-8' );
  3. ?>


5. Mam bazę zapisaną w latin2 a kodowanie na stronie utf-8. Jak szybko można przekonwertować bazę na utf-8.

Wykonać punkt pierwszy. Stworzyć nowy plik wyświetlając np metodą backupu bazę, pozamieniać collate na utf8_unicode_ci i charset na utf8 wgrać ją od nowa.

Najlepiej zawsze zrobić sobie kopie bazy, aby uniknąć nieprzyjemności.

I to na tyle. W razie problemów jest forum.


--------------------

Go to the top of the page
+Quote Post
szopen
post 28.08.2008, 23:06:07
Post #28





Grupa: Zarejestrowani
Postów: 60
Pomógł: 5
Dołączył: 28.08.2008

Ostrzeżenie: (0%)
-----


Cytat(sf @ 5.04.2006, 18:01:41 ) *

Kod
</P><P>Error connecting to database: Query error: select modyfikacja from faq where modyfikacja is not null order by modyfikacja desc limit 1 - <BR>Line: 119<BR>File: /home/services/httpd/virtuals/faq-php/lib/libsql.inc<BR><BR></P><P>


Wbrew pozorom bardzo pouczająca strona, bo najlepiej uczyć się na błędach -- cudzych smile.gif
Go to the top of the page
+Quote Post
erix
post 9.12.2008, 22:36:59
Post #29





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Odświeżam, bo ten byk pojawia się nader często.

Jest różnica między umieszczaniem kluczy tablic asocjacyjnych w cudzysłowach a bez nich:
  1. <?php
  2. $tablica = array('klucz'=>'wartosc');
  3.  
  4. // z cudzysłowem
  5. echo $tablica['klucz'];  // wszystko ok
  6.  
  7. // bez
  8. echo $tablica[klucz]; // eee...
  9. ?>

Interpreter wygeneruje błąd typu NOTICE. Dlaczego? Stała a łańcuch tekstowy, to twie różne rzeczy. PHP rozróżnia je od siebie właśnie na podstawie cudzysłowów. Do poczytania: stałe - http://pl2.php.net/manual/pl/language.constants.php - oraz wspomniany przeze mnie błąd w manualu - http://pl2.php.net/manual/pl/language.type...s.array.foo-bar

Niestety, konstrukcja z pseudostałą działa...

Nie ma sensu umieszczać zmiennych w cudzysłowach, jeśli są jedynym parametrem!
Utwórz sobie pusty skrypt i wypróbuj coś takiego:
  1. <?php
  2. $zmienna = 'asdasd';
  3.  
  4. print("$zmienna");
  5. print($zmienna);
  6. ?>

Widzisz różnicę w działaniu? Tak? Bo ja nie. A kodem z cudzysłowami (w tym przypadku) tylko niepotrzebnie maltretujesz interpreter.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
elldiablo
post 30.05.2009, 20:47:44
Post #30





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 30.05.2009

Ostrzeżenie: (0%)
-----


Cytat(adam9870 @ 9.04.2006, 21:43:22 ) *
Ja chciałbym trochę wspomnieć o kodowaniu znaków. Na wielu forach widzę, że są z tym problemy to tu napiszę jak temu zaradzić smile.gif
Często źle są wyświetlane polskie znaki takie jak ł, ś, ć itp. Aby to naprawić trzeba mieć w dokumencie:
Kod
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">

a jak będzie źle wyświetlać to tekst można przekonwertować np. programem Ogonki97. Albo wpisywać polskie znaki wg. tej tablicy:
http://webdesign.art.pl/atelier/ISO_8859-2.html
np. zamiast <span style="font-weight: bold;">ł</span> trzeba wpisać <span style="font-weight: bold;">&#322</span>. I powinno być ok.

Często też wielu Webmasterów pisze stronę tylko przy użyciu notatnika. On niestety nie koduje znaków w iso-8859-2 i najlepiej robić strony w jakimś edytorze tekstowym (np. EditPlus 2. W większości programów można ustawić aby kodowało w iso-8859-2).



Witam,
Osobiście polecam programować w NOTEPAD++. Następnie plik który zapiszemy w formacie np. index.php w opcjach wybieramy "Format/Koduj w utf-8 (bez BOM)" i zaraz po połączeniu z bazą danych wpisać polecenie: mysql_query ("SET NAMES utf8");

Działa na 100%
Go to the top of the page
+Quote Post
Chelo
post 23.08.2009, 01:03:58
Post #31





Grupa: Zarejestrowani
Postów: 178
Pomógł: 8
Dołączył: 19.03.2007

Ostrzeżenie: (0%)
-----


Dobrze mówi, polecam notepad++ i ked'a.
Go to the top of the page
+Quote Post
thomson89
post 29.10.2009, 15:58:36
Post #32





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Gdy błąd jest w linijce, w której nie ma błędu?

Najczęstszym błędem początkujących jest zapominanie o średniku, na końcu instrukcji. PHP wywali wtedy błąd w linijce 2, a nie 1. Bardziej kumaci to poprawią - mniej: nie.

Wyświetlanie HTML

Jeżeli wyświetlamy instrukcje HTML, należy pamiętać o średnikach, cudzysłowach.

  1. echo '<font color='red'>'; //źle!
  2. echo '<font color=\'red\'>'; //zadziała
  3. echo "<font color='red'>"; //poprawnie
  4. echo '<font color="red">'; //chyba najlepiej


Uwaga organizacyjna, dot. baz danych

Najlepiej jest sobie zrobić plik: polacz.php, config.php. W pliku config dać:
  1. $login = "";
  2. $haslo = "";
  3. $baza = "";
  4. $serwer = "";


Zaś w pliku polacz.php:
  1. include('config.php');
  2.  
  3. function polacz($serwer, $baza, $login, $haslo)
  4. {
  5. $polaczenie = mysql_connect($serwer, $uzytkownik, $haslo);
  6. if(!$polaczenie)
  7. return false;
  8. else
  9. {
  10. mysql_select_db($baza, $polaczenie);
  11. mysql_query('SET NAMES utf8');
  12. mysql_query('SET CHARACTER_SET utf8_unicode_ci');
  13. return $polaczenie;
  14. }
  15. }
  16.  
  17. $polaczenie = polacz($serwer, $baza, $login, $haslo);
  18. if(!!polaczenie)
  19. echo 'Połączenie z bazą danych NIE powiodło się!';


Potem wystarczy zaincludować plik, polacz.php, tam gdzie używamy bazy danych mysql.

Ten post edytował thomson89 29.10.2009, 16:18:08


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
kupilemsobieksia...
post 24.12.2009, 12:32:25
Post #33





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.12.2009

Ostrzeżenie: (0%)
-----


Mam propozycję - może ktoś umieściłby tutaj sposób na przetwarzanie formularza i wysyłanie maila? Szukałem na forum, lecz nie ma takiego rozwiązania, co by mi pomogło na moim localhost z xamppem (chodzi o konfigurację adresów e-mail). Poza tym na serwerze 110mb.com wyskakuje błąd, że funkcja mail nie jest obsługiwana - skąd można się dowiedzieć, które serwery hostingowe ją obsługują, a które nie? Z góry dzięki. Ten pierwszy to na pewno częsty błąd ;p
Go to the top of the page
+Quote Post
lnn
post 24.12.2009, 15:03:06
Post #34





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

Ostrzeżenie: (0%)
-----


Cytat(kupilemsobieksiazke @ 24.12.2009, 12:32:25 ) *
Mam propozycję - może ktoś umieściłby tutaj sposób na przetwarzanie formularza i wysyłanie maila? Szukałem na forum, lecz nie ma takiego rozwiązania, co by mi pomogło na moim localhost z xamppem (chodzi o konfigurację adresów e-mail). Poza tym na serwerze 110mb.com wyskakuje błąd, że funkcja mail nie jest obsługiwana - skąd można się dowiedzieć, które serwery hostingowe ją obsługują, a które nie? Z góry dzięki. Ten pierwszy to na pewno częsty błąd ;p

na XAMPP mozesz sobie skonfigurowac lokalny serwer pocztowy, jest tam Mercury, a maile sa w postaci:
nazwausera@localhost, pop3/smtp: localhost
minus tego jest taki, że jesli masz walidacje na adres12_Jakis@serwer.com.pl to wyskoczy Ci błąd bo wiadomo, że @localhost nie ma .pl/.com itd

co do bezpłatnych serwerów to odradzam, lepiej zainwestowac te 100 zł i mieć poodblokowywane różne opcje, a co do opcji które są poblokowane to zwykle w specyfikacji konta hostingowego jest napisane.





Ten post edytował lnn 24.12.2009, 15:10:12
Go to the top of the page
+Quote Post
melkorm
post 24.12.2009, 16:29:15
Post #35





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Odnośnie punktu pierwszego, może troche więcej informacji:  

  1. var_dump($zmienna); // może to być tablica, obiekt, text, no dosłownei wszystko.


Można dodać <pre>, aby ładnie wyglądało lub podejrzeć źródło strony gdzie są prawidłowo wygenerowane wcięcia.

Trochę więcej o debugowaniu: (bardzo polecam super się pracuje z tym)



Ładne, czyż nie?

Otóż jest to moduł o nazwie "Xdebug" teraz krótki poradnik jak go uruchomić i jakie plusy daje on nam prócz ładnie sformatowanego kodu:

1. Z powyższego linku ściągamy odpowiadającą naszej wersji PHP dll'kę.

Wrzucamy go do katalogu "apache/php/ext/"

I path do niej wpisujemy w linijce (patrz niżej) 

Kod
zend_extension="D:/xampp/php/ext/php_xdebug-2.0.5-5.3-vc6.dll"</P><P>


2. Wchodzimy do php.ini :

Szukamy "[Zend]" lub "[XDebug]", następnie komentujemy cały blook [Zend] (niestety bez tego XDebug nie ruszy).

powinno to wyglądać mniej więcej tak:

Kod
[Zend]
;zend_extension_ts = /php/modules/php_xdebug-4.4.1-2.0.5.dll"
;zend_extension_manager.optimizer_ts = "\xampp\php\zendOptimizer\lib\Optimizer"
;zend_optimizer.enable_loader = 0
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:
  
  [XDebug]
  zend_extension="D:/xampp/php/ext/php_xdebug-2.0.5-5.3-vc6.dll"
  xdebug.remote_enable=1
  xdebug.remote_host=127.0.0.1
  xdebug.remote_port=9000
  xdebug.remote_handler=dbgp
  xdebug.profiler_enable=1
  xdebug.profiler_output_dir="D:\xampp\tmp"
  xdebug.var_display_max_children = 256
  xdebug.var_display_max_data = 4000
  xdebug.var_display_max_depth = 12


Pod tym linkiem mamy wszystkie odstępne opcje Debuggera LINK

W taki oto sposób uzyskujemy ładnie sformatowany debug.




Teraz to co rushowe-mysie-pysie lubią najbardziej:

Otóż profiler tworzy nam pewne pliki, w katalogu zadeklarowanym w:

Kod
</P><P>xdebug.profiler_output_dir="D:\xampp\tmp"</P><P>


Otworzyć je można za pomocą programu który znaleźć można pod adresem:

WinCacheGrind

Możliwości daje wielkie, pokazuje czasy wykonań co po czym itp, bardzo dobre narzędzie do profilowania większych aplikacji smile.gif



Tutaj trochę większy opis możliwości i guide jak zainstalować.


--------------------
Go to the top of the page
+Quote Post
kupilemsobieksia...
post 24.12.2009, 23:36:24
Post #36





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.12.2009

Ostrzeżenie: (0%)
-----


Widzę, widzę. Wszystko ustawiłem, tylko teraz błąd jest taki: Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp.o2.pl" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in...

Z góry dzięki.
Go to the top of the page
+Quote Post
Eagle
post 25.12.2009, 00:56:22
Post #37





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


@kupilemsobieksiazke
Cytat
Od 1 grudnia 2009 następuje zmiana portów serwera poczty wychodzącej (SMTP) z 25 na 587

http://pomoc.o2.pl/poczta/zmiana_portow/
Go to the top of the page
+Quote Post
tomaszs2
post 26.01.2010, 12:45:13
Post #38





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 3.05.2008

Ostrzeżenie: (0%)
-----


Cytat(Eagle @ 25.12.2009, 00:56:22 ) *


Dzięki tego właśnie szukałem


--------------------
Polub mnie na Facebooku http://www.facebook.com/pages/Polishwords/172360026392
Albo Google+ https://plus.google.com/115722487152014068500/posts
Go to the top of the page
+Quote Post
AdamAdax
post 23.03.2010, 19:02:40
Post #39





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 1.07.2008

Ostrzeżenie: (0%)
-----


Witam po raz pierwszy tak w ogóle;)

Ja przedstawię dosyć częsty błąd programistyczny, który nie jest tak łatwo zlokalizować.

  1. $zmienna = 'Hello World';
  2.  
  3. if ($zmienna = 'Hello PHP') {
  4. echo $zmienna;
  5. }
  6.  


W takim wypadku nie dostaniemy powiadomienia o błędzie bowiem zmiennej został przypisany ciąg 'Hello PHP', a nie to było celem. Często z powodu szybkiego pisania, nie wpisujemy dwóch znaków równości w celu porównania ciągów.
Aby nigdy więcej nie zaszła taka pomyłka dobrym sposobem jest porównywać w ten sposób:
  1. ...
  2. if ('Hello PHP' == $zmienna) {
  3. echo $zmienna;
  4. }


W takim wypadku gdybyśmy się pomylili i wstawili jeden znak równości, PHP zwróci błąd a my łatwo zidentyfikujemy miejsce gdzie nastąpiło złe porównanie.

Go to the top of the page
+Quote Post
erix
post 23.03.2010, 23:48:37
Post #40





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Hmm, właściwie to nie tyczy się tylko PHP; wszystkie języki bazujące na składni C "umożliwiają" coś takiego. biggrin.gif

it's not a bug, it's a feature winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

3 Stron V  < 1 2 3 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2018 - 09:36