Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Sprawdzanie formatu daty...początkujący
Forum PHP.pl > Forum > Przedszkole
zboro
Witam serdecznie.Jestem początkujący w temacie php. Chciałbym narzucić w formularzu (który jest wysyłany na adres mail) poprawność wprowadzenia daty. Chodzi o to, aby jedyną możliwością podania daty było dd.mm.rrrr i nic innego.

Wykombinowałem jedynie cosik takiego, ale niestety nie spełnia to swojej funkcji:
  1. <?php
  2. if ($_POST['data1'] != '(date("d.m.Y"))') $msg .='Błędny format daty <br>';
  3. ?>


Pozdrawiam i proszę o pomoc.

P.S.
Czy jest tutaj możliwość ustawienia opcji powiadamiania mailowo o nadejściu odpowiedzi na napisany temat?Jeśli tak to gdzie? (Późna godzina już jest i może dlatego nie widzę:)
Kaes13
Ja rozwiązał bym to na 2 sposoby :
1 Wykorzystał JavaScript do wstawiania daty za pomocą małego kalendarza w stylu popup
(tutaj ustawiłbyś interesujący cię format daty )
http://www.mattkruse.com/javascript/calendarpopup/
2 Użył wyrażenia regularnego do określenia co może być wpisane w danym polu

Pozdarwiam
zboro
Mnie bardziej interesuje ta druga opcja. Tylko problem w tym, że nie bardzo wiem jak to wykonać. Można jakąś podpowiedź? Jak pisałem, jestem raczkującym w php, dlatego proszę o takowe potraktowanie.

Pozdrawiam
Kaes13
W wyrażeniach regularnych ja też nie czuje się mocny stworzyłem coś takiego z głowy więc może nie być to prawidłowe
If (ereg (‘^[0-9]{4}+\\-[0-9]{2}+\\-[0-9]{2}$’, $data)
Ten zapis nie sprawdzi czy na pewno ktoś wpisał datę ale może ci się przyda określa że zapis formatu zmiennej $data (pod którą podstawisz wartość daty z formularza) będzie musiała mieć zapis 4cyfry-2cyfry-2cyfry np. 2006-11-18 ale niestety może to być 9999-99-99
Musisz wgryźć się w temat i poszukać w necie o wyrażeniach regularnych

Pozdrawiam

P.S Za ewentualne błędy przepraszam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.