![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mam w bazie pole odzina typu TIME.
Czyli godzina przetrzymywana jest jako, np. 16:55:34 Testuje formularz i gdy użytkownik wpisze string to skrypt się wywala. Jak sprawdzać czy użytkownik wpisał poprawnie godzine? ps. musi być możliwość ręcznej edycji godziny (tylko godziny i minuty). Ten post edytował J4r0d 6.06.2006, 21:01:48 -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
chodzi ci o to, czy wpisał godzinę w poprawnym formacie? (np. 15:22 jest OK?)
moze byc regEx, ale nie zabezpieczysz sie latwo przed np. wpisaniem goindzy 65:98 :/ wiec, probujesz rozbic wpisana wartosc przez ':'. Jezeli otrzymujesz tablice dwuelementowa w wwyniku takiego rozbicia - OK, jedziesz dalej. A dalej rzutujesz oba elementy tablicy na int, sprawdzasz czy znajduja sie w odpowiednim przedziale (0-24, 0-59) i juz wiesz czy jest OK.
byc moze mozna to rozwiazac jakos bardziej "elegancko", ale wlasnie takie rozwiazanie wpadlo mi do glowy :> pozdr. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@siemakuba tez kiedys robilem podobnie. ale teraz tak mi wpadl pomysl, zeby rzutowac czas do znacznika czasu i spowrotem do godziny. jesli po przektalceniach godziny są ok, znaczy ze godzina jest poprawna:
Są jakies luki w tym systemie? Jak pisalem wpadlem na to teraz i za bardzo nie tescilem, ale wydaje sie byc ok. @J4r0d kto zapomnial o znaczikach w tytule? ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
@nospor: bardzo fajna koncepcja! szybki test pokazal ze zalozenie jest sluszne. Niekoniecznie potrzebna jest @ z przodu, bo nawet takie wywolanie strtotime('siemakuba') zwraca bez problemu wartosc (00:00) i zadnego bledu (chyba ze E_NOTICE - sprawdzalem na E_ALL ~&E_NOTICE).
mozna zamiast malpy zrzutowac to na (bool) tak dla pewnosci. Chociaz zupelnie nie jest to konieczne. pozdr. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Niekoniecznie potrzebna jest @ z Uwierz, potrzebna jest ![]() ![]() Cytat Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 Na chama mozna by sie bawic w warunki, ale to by wydluzylo skrypt, ja chcialem to w jednej linii zmiescic -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 no, to wszystko jasne :) test przeprowadziłem na Unixie, i tak jak pisalem z wylaczonym E_NOTICE jedynie. Z małpą czy bez - koncepcja jest fajna i warta przyzwyczajenia sie do niej :) pozdr. edit: sorki... gapa jestem... display_errors = 0... edit2: Cytat ja chcialem to w jednej linii zmiescic tak, dobry one-liner nie jest zły :) Ten post edytował siemakuba 30.05.2006, 15:23:30 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 09:17 |