Odnoszenie się do formularza w php - strtotime

0

Szukałam w internecie i nie znalazłam. Męcze się z tym już od 7.00 rana.
Nie wiem jak się odnosi do formularza proszę o poprawienie błędu i wytłumaczenie.
Pokazuje błąd tutaj $dzien = date('N', strtotime($_POST['data']));

<form action="tydzien.php" method="post">
       <label for="dzień">Dzień:</label>
     <select name="dzien">
        <?php 
    	      for ($i=1;$i<=31;++$i)
 
            echo '<option value="'.$i.'">'.$i.'</option>';
        ?>
    </select> </br></br>
<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>
<label for="rok">Rok:</label>
    <select name="rok">
        <?php 
    			 for($t=1900;$t<=2010;++$t)
    	     echo '<option value="'.$t.'">'.$t.'</option>';
        ?>
    </select> </br>
	     </br></br><input type="submit" name="sprawdz"  value="Sprawdź dzień tygodnia" />
	     </br></br><input type="reset" name="reset"  value="Wyczyść" />
    </form>
<?php
     $dzien = date('N', strtotime($_POST['dzien']));
	  $miesiac = date('N', strtotime($_POST['miesiac']));
	   $rok = date('N', strtotime($_POST['rok']));
    $dni_tygodnia = array('Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota','Niedziela');
 
    echo $dni_tygodnia[$dzien-1];
?>
0

Po pierwsze flaga N służy do podania nr dnia tygodnia. Więc użycie przy miesiącu, czy roku, nie jest wskazane^^

Po drugie: php nie wie, że podana cyferka jest dniem. Bo skąd ma wiedzieć :P

Musisz złożyć pełną datę, najlepiej w formacie Y-m-d. Po prostu połącz wartości pobrane z tablicy $_POST. Potem możesz to użyć, by pobrać nr dnia.

0

Jestem początkująca więc nie mam o tym zielonego pojęcia.

To ma być skrypt w którym użytkownik podaje datę urodzenia i po naciśnięciu w przycisk pokazuje mu się dzień tygodnia w którym się urodził.

Nie wiem jak powinien prawidłowo wyglądać kod. Męczę się z tym od 7.00 rana. Proszę popraw mi kod .

0
$dni_tygodnia = array('Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota','Niedziela');
$dateString = $_POST['dzien'].'/'.$_POST['miesiac'].'/'.$_POST['rok'];

$date = DateTime::createFromFormat('j/n/Y', $dateString);
$dayOfWeek = $date->format('N');

echo $dni_tygodnia[$dayOfWeek-1];

1 użytkowników online, w tym zalogowanych: 0, gości: 1