Odnoszenie się do formularza w php - strtotime

Odnoszenie się do formularza w php - strtotime
MD
  • Rejestracja:ponad 7 lat
  • Ostatnio:11 miesięcy
  • Postów:158
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']));

Kopiuj
<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>
Kopiuj
<?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];
?>
edytowany 1x, ostatnio: Marta Długa
serek
  • Rejestracja:około 11 lat
  • Ostatnio:około 8 godzin
  • Postów:1475
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.

MD
  • Rejestracja:ponad 7 lat
  • Ostatnio:11 miesięcy
  • Postów:158
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 .

.__.
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
0
Kopiuj
$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];
.__.
tylko trzeba przypilnować, czy użytkownik wprowadza poprawną datę

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.