This repository has been archived on 2025-10-20. You can view files and clone it, but cannot push or open issues or pull requests.
Files
2bki21/progp/24-10-23/datum_pruefen.php
danielvici123 c9c2221dea - PROGP 24-10-23
--PHP (JS unvollständig)
2024-10-23 13:08:40 +02:00

61 lines
1.9 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
ini_set("display_errors", "on");
// Datum als String in einem Array aufteilen
$datum = "29.02.1955";
$datum_array = explode(".",$datum); // => [20, 02, 1900]
// (int) -> macht die variable in ein zahl
$tag = (int) $datum_array[0];
$monat = (int) $datum_array[1]; // bsp 02 => 2
$jahr = (int) $datum_array[2];
// echo gettype($tag) => gibt den type von der varible
// SCHALTJAHR??
$istSchaltJahr = false;
// && => UND
// || => ODER
if ($jahr % 4 == 0 && $jahr % 100 != 0 || $jahr % 400 == 0){
$istSchaltJahr = true;
}
// MONATE
switch ($monat){
// Monate mi 31 Tagen:
case 1: case 3: case 5: case 7: case 8:case 10: case 12:
$tage_max = 31; break;
// Monate mit 30 Tagen:
case 4: case 6: case 9: case 11:
$tage_max = 30; break;
// Februar
case 2: // Prüfen Schaltjahr
if (!$istSchaltJahr) $tage_max = 28;
else $tage_max = 29;
break;
default: $tage_max = -1; // Fehlerfall
}
echo "<p> Der Monat ".$monat."-te hat Monat hat ". $tage_max. "Tage </p>";
// Eigentliche Überprüfung
$datumIstGueltig = false;
if(
$tag >= 1 && $tag <= $tage_max
&& $monat >= 1 && $monat <= 12
&& $jahr >= 0 && $jahr <= 3000)
{
$datumIstGueltig = true;
}
if ($datumIstGueltig) echo "<p><strong>Das Datum '$datum' ist gültig!</strong></p>";
else echo "<p><strong>Das Datum '$datum' ist ungültig</strong></p>";
?>
</body>
</html>