Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zrobić żeby pokazywało text "Zły format daty"
gados82
post 5.05.2005, 12:36:24
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 5.05.2004

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


mam pole formularza w któym wpisuje date w formacie mm-dd-rrrr po wpisaniu wysyłam tą date do tabeli w Mysql.
Jak wpisze w tym formularzu zły foramt daty lub jakieś inne wyrażenie niż data to php wysypuje mi błedy, a chciałbym zrobić tak że po wpisaniu złej wartości w tym polu wyskoczył napis "Zły format daty"
Może mi ktoś pomóc z tym??
Go to the top of the page
+Quote Post
nospor
post 5.05.2005, 12:42:49
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Sprawdzaj format i jak źle to pokazuj komunikat: (pseudokod)
  1. <?php
  2.  
  3. if (isset($_POST['twojinputzdata']) && dobryformatdaty($_POST['twojinputzdata']))
  4. {
  5. //zapis do bazy
  6. }
  7. elseif (isset($_POST['twojinputzdata']) && !dobryformatdaty($_POST['twojinputzdata']))
  8. {
  9. echo &#092;"<input ....\".\"Popraw\";
  10. }
  11. else
  12. echo &#092;"<input ....\";
  13.  
  14. ?>

Do sprawdzania poprawności daty już bylo wiele skryptów

Ten post edytował nospor 5.05.2005, 12:43:13


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Diwi
post 5.05.2005, 13:01:44
Post #3





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


@nospor ale istnieje tez wbudowana funkcja w php checkdate" title="Zobacz w manualu PHP" target="_manual() przykładowy kod:

  1. <?php
  2. list ($dzien, $miesiac, $rok) = explode('-', $_POST['data']);
  3.  
  4. if (checkdate ($miesiac, $dzien, $rok)) {
  5.  
  6.  echo 'Data Poprawna';
  7.  
  8. }
  9. else {
  10.  
  11.  echo 'Data niepoprawna musisz to poprawić';
  12.  
  13. }
  14. ?>


UWAGA funkcja checkdate" title="Zobacz w manualu PHP" target="_manual() sprawdza date w formacie MM/DD/RRRR (miesiąc, dzień rok)

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 5.05.2005, 13:15:46
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Człowiek uczy się całe życie. Nie wiedziałem o tej funkcji. Jedna trzeba do Twojej metody dodać parę warunków. Wprowadzenie takiej daty: 02-02-12 wyswietli poprawny wynik, choć chyba ona będzie błędna (zakladając format kolegi). Trzeba by dorobić warunek na sprawdzanie dlugości stringa chociażby. Pozatym Twój list (..) trzeba zmienić, gdyż gados ma inny format (mm-dd-rr). Zamiana:
list ($miesiac, $dzien,$rok)


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Diwi
post 5.05.2005, 13:24:17
Post #5





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


@nospor ten skrypt to był tylko przykład żeby gados82-a naprowadzić smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post
gados82
post 5.05.2005, 15:56:41
Post #6





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 5.05.2004

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


dzieki chlopaki za pomoc uzylem skryptu "diwi"

moj problem polegał dokładnie na datach

1.data przybycia
2. data wyjzadu

używanych przy rejestrowaniu klientów hotelu

rozwiązałem to tak:

  1. <?php
  2.  
  3. list ($miesiac, $dzien, $rok) = explode('-', $_POST['data_przybycia']);
  4. if (checkdate ($miesiac, $dzien, $rok))
  5. {
  6. list ($dzien, $miesiac, $rok) = explode('-', $_POST['data_wyjazdu']);
  7. if (checkdate ($miesiac, $dzien, $rok))
  8.  
  9. {
  10.  
  11. ///wykonuje jakiś skrypty jak dwie daty sa poprawne
  12.  
  13. }
  14. else
  15. echo '<p>Podana przez ciebie data jest nieprawidlowa. Poprawny format daty to: mm-dd-rrrr<p>';
  16. }
  17. else 
  18. {
  19. echo '<p>Podana przez ciebie data jest nieprawidlowa. Poprawny format daty to: mm-dd-rrrr<p>';
  20. }
  21.  
  22. ?>



super chodz tylko mam pytanie jeszcze
checkdate sprawdza tylko liczby
a jak znajdzie sie jakiś jełop i tam gdzie trzeba wpisać date on wpisze text (litery)
to wtedy wysypie sie kod
duża przeróbka jest potrzebna zeby to wyeliminować
Go to the top of the page
+Quote Post
Diwi
post 5.05.2005, 16:10:23
Post #7





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


No to funkcja checkdate" title="Zobacz w manualu PHP" target="_manual zwróci FALSE i wyświetli się komunikat (no chyba że jest inaczej sad.gif )

Pozdrawiam
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 Wersja Lo-Fi Aktualny czas: 19.06.2025 - 12:41