is115-php/modul2/index2_4.php

59 lines
1.8 KiB
PHP

<?php include '../common.php'; ?><!DOCTYPE html>
<html lang="no">
<head>
<title><?=title();?></title>
<link rel="stylesheet" href="../index.css">
</head>
<body>
<div class="container">
<h1><?=title();?></h1>
<h4><?=getNavigation();?></h4>
<h2>Alder</h2>
<?php
// Insatte bursdag eller 'fødselsdagen' til PhP
$bursdag = $_GET['bursdag'] ?? '08.06.1995';
// Bruker klassen DateTime og setter inn brukerens $bursdag i angitt format.
$bdag = DateTime::createFromFormat('d.m.Y', $bursdag);
if(!$bdag){
echo "<p>Greide ikke å forstå den insatte datoen. Prøv igjen.</p>";
}
else {
// Bruker DateTime-klassens ::diff
$forskjell = $bdag->diff( new DateTime() );
$deltaDager = $forskjell->days;
$deltaAar = $forskjell->y;
$datoStr = $bdag->format('j. M. Y');
$deltaStr = $deltaAar." år og ".($deltaDager-floor($deltaAar*365.25))." dager";
// Hvis brukeren ikke enda har satt inn en dato, gi spesielt tilfelle:
if(empty($_GET)){
printf("<p>PHP som ble lansert '%s', er i dag <strong>%s</strong> gammelt.</p>", $datoStr, $deltaStr);
}
// Ellers hvis datoen er i fortiden
elseif($forskjell->format("%R") != "-") {
printf("<p>Personer med fødselsdato '%s' er i dag <strong>%s</strong> gamle.</p>", $datoStr, $deltaStr);
}
// Til slutt hvis datoen er i fremtiden
else {
printf("<p>Personer med fødselsdato '%s' blir født om <strong>%s</strong>.</p>", $datoStr, $deltaStr);
}
}
?>
<form>
<p>
<input type="text" name="bursdag" placeholder="dd.mm.YYYY" value="<?=$bursdag;?>">
<input type="submit" value="Sjekk bursdag...">
</p>
</form>
</div>
</body>
</html>