• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Skrypt ma pokazać ile dni ma dany miesiąc po wskazaniu miesiąca

Object Storage Arubacloud
0 głosów
421 wizyt
pytanie zadane 11 czerwca 2020 w PHP przez Martita Bywalec (2,470 p.)

Cześć proszę o pomoc w poprawieniu błędu. Wiem że trzeba wstawić -1 ale nie wiem w którym miejscu.

Skrypt ma pokazać ile dni ma dany miesiąc po wskazaniu miesiąca z formularza przez użytkownika. 

Po wskazaniu miesiąca czerwiec i kliknięciu Sprawdź pokazuje 31 a powinno pokazać 30 . 

 <form action="ostatni_dzien_miesiaca.php" method="post">
<label for="miesiac">Miesiąc:</label>
    <select name="miesiac">
        <?php 
    			 for($l=1;$l<=12;++$l)
    	     echo '<option value="'.$l.'">'.$l.'</option>';
        ?>
    </select></br></br>
	     </br></br><input type="submit" name="sprawdz"  value="Sprawdź dzień tygodnia" />
	     </br></br><input type="reset" name="reset"  value="Wyczyść" />
    </form>


 

 

<?php
 $miesiac = date('t', strtotime($_POST['miesiac']));
  echo $miesiac;
?>

 

2 odpowiedzi

0 głosów
odpowiedź 11 czerwca 2020 przez Patrycjerz Mędrzec (192,320 p.)
wybrane 12 czerwca 2020 przez Martita
 
Najlepsza

Z tego co zrozumiałem z dokumentacji funkcji `strtotime`, użycie formatu składającego się z samej liczby od 1 do 12 oznacza rok zamiast miesiąca. Aby w formacie był miesiąc, należy użyć np. mm/dd, czyli "1/1", "2/1", ..., "12/1". Funkcja `date` pobierze liczbę dni miesiąca z timestampu, więc tak naprawdę nie ma znaczenia, czy dd będzie pierwszym dniem miesiąca, czy jakimkolwiek innym.

<?php
 $miesiac = date('t', strtotime($_POST['miesiac'] . '/1'));
 echo $miesiac;
?> 
komentarz 11 czerwca 2020 przez Martita Bywalec (2,470 p.)
Ja używałam w innym skrypcie od 1 do 12 i skrypt działał poprawnie.
komentarz 11 czerwca 2020 przez Martita Bywalec (2,470 p.)
Działa dzięki.
0 głosów
odpowiedź 11 czerwca 2020 przez Tomek Sochacki Ekspert (227,510 p.)
Nie pamietam tych metod w php ale generalnie możesz stworzyć date na 1go miesiaca kolejnego, odjąć jeden dzien i odczytać z otrzymanej daty dzien. Na przyklad chcac znac liczbę dni w czerwcu możemy stworzyc obiekt daty na 1.lipca, odjąć jeden dzien i odczytac dzien nowej daty czyli 30.06.
komentarz 11 czerwca 2020 przez Martita Bywalec (2,470 p.)
Jestem początkująca i nie wiem o co chodzi.

Podobne pytania

0 głosów
1 odpowiedź 1,527 wizyt
0 głosów
3 odpowiedzi 235 wizyt
pytanie zadane 5 kwietnia 2016 w C i C++ przez tomiczeq Nowicjusz (120 p.)
0 głosów
1 odpowiedź 430 wizyt
pytanie zadane 31 sierpnia 2015 w C i C++ przez arabkostek Nowicjusz (230 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...