Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzenie poprawności daty
dareckiphp
post
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 10.07.2003

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


Szukałem i nie znalazłem, choć na pewno był już ten temat na forum. Potrzebuję sprawdzić datę pobieraną z bazy w formacie RRRR-MM-DD. Tak samo użytkownik wpisuje ją w pole txt, więc odpada chyba wykorzystanie checkdate. Może ma ktoś pomysł jak można walidować datę w postaci 2003-03-29?
Dzięki

Ten post edytował dareckiphp 7.07.2004, 16:21:01


--------------------
Warsztat: WinXP | Apache 2.0.49 | MySQL 4.0.20 | PHP 4
Go to the top of the page
+Quote Post
party
post
Post #2





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 19.08.2003
Skąd: Bydgoszcz

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


explode" title="Zobacz w manualu PHP" target="_manual?

Ten post edytował Partyzant 7.07.2004, 16:43:15


--------------------
Go to the top of the page
+Quote Post
hwao
post
Post #3


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  1. <?php
  2.  if( eregi( &#092;"^[0-9]{4}-[0-9]{2}-[0-9]{2}$\", $data) )
  3.  {
  4. echo 'dobra';
  5.  }
  6. ?>
Go to the top of the page
+Quote Post
dareckiphp
post
Post #4





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 10.07.2003

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


Z tego wynika, że można wpisać datę 9999-99-99. To złe rozwiązanie. Partyzant podał dobry sposób.
Dla poszukujących rozwiązania podam jak to zrobiłem. Może się przyda:
  1. <?
  2. // data jest wpisywana w polu $data i rozdzielana \"-\" czyli 1999-02-02
  3. // rozdzielamy zatem człony wpisywanej daty pomiędzy znakami \"-\"
  4. $rozdziel = explode (&#092;"-\", $data);
  5. // teraz testujemy te dane w porządku miesiac, dzien, rok
  6. $sprawdz = checkdate ($rozdziel[1], $rozdziel[2], $rozdziel[0]);
  7. // no i zrobione
  8. // jesli $sprawdz = TRUE to jesteśmy w domu, jeśli FALSE to nie
  9. ?>


Pozdrawiam


--------------------
Warsztat: WinXP | Apache 2.0.49 | MySQL 4.0.20 | PHP 4
Go to the top of the page
+Quote Post

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 Aktualny czas: 19.08.2025 - 10:15