- floor: documentation ( source)
<?php
// Erstellt von: Alex Volk / FIU13WS
// Erstellt am: 28.03.2014
// Erweitert am: 31.03.2014
// Geaendert am: 11.04.2014
// =================================================================================
// Ergebnis Formular anzeigen
// Variable Ergebnis eintragen
// =================================================================================
$_POST['tag'] = '';
$_POST['monat'] = '';
$_POST['jahr'] = '';
$formular = '<section id="wrapper">
<header>
<h1>Ermittlung des Wochentages</h1>
</header>
<section id="form_inhalt">
<form action="' . ($_SERVER['PHP_SELF']) . '" method="POST" >
<fieldset class="formular33prozent"; text-align: right;>
<legend>Bitte ein Datum eingeben</legend>
<label for="tag">Tag:</label>
<input type="text" name="tag" id="tag" placeholder="31" value="'.$_POST['tag'].'" required autofocus/>
<br />
<label for="monat">Monat:</label>
<input type="text" name="monat" id="monat" placeholder="03" value="'.$_POST['monat'].'" required/>
<br />
<label for="jahr">Jahr:</label>
<input type="text" name="jahr" id="jahr" placeholder="2014" value="'.$_POST['jahr'].'" required/>
<br />
<br />
<input type="button" onClick="location.href=\'' . $_SERVER["SCRIPT_NAME"] .'\''.'" value="Nicht berechnen" />
<input id="submit" name="submit" type="submit" value="Berechnen"/>
</fieldset>
</form>
</section>
';
if (isset($_POST['submit'])) // prueft, ob die Eingabe gesetzt wurde
{
//===================================================================================
// Deklaration und Initialisierung der Variablen
//===================================================================================
// vom user eingegebene Daten des Datums
$tag = $_POST['tag'];
$monat = $_POST['monat'];
$jahr = $_POST['jahr'];
// TESTAUSGABE DER VARIABLEN
// echo('$tag = '.$tag .'<br/>');
// echo('$monat = '.$monat .'<br/>');
// echo('$jahr = '.$jahr .'<br/>');
// Hilfs und Ergebnisvariablen
$jahr1 = 0;
$jahr2 = 0;
$h1 = 0;
$h2 = 0;
$h3 = 0;
$b = 0;
$f = 0;
//===================================================================================
// Ausgabe der 'eingegeben' bzw. gegebenen Daten des Datums
//===================================================================================
// echo('Sie haben folgendes Datum eingegeben: '.$tag.'.'.$monat.'.'.$jahr.'<br/><br/>');
//=====Schritt 1=====================================================================
// Pruefen ob $monat kleiner ist als 3
//===================================================================================
if ($monat < 3)
{
$monat = $monat + 10;
$jahr = $jahr - 1;
}
else
{
$monat = $monat - 2;
}
// Testweises anzeigen des Inhaltes von $monat
// echo('$monat = '.$monat.'<br/>');
//=====Schritt 2=====================================================================
// Berechnung Hilfsvariablen JAHR1 und Ermittlung des ganzzahligen Teiles (DIV)
//===================================================================================
$jahr1 = floor($jahr/100);
//=====Schritt 3=====================================================================
// Berechnung Hilfsvariablen JAHR2 und Ermittlung des ganzzahligen Restes (MOD)
//===================================================================================
$jahr2 = $jahr%100;
//=====Schritt 4=====================================================================
// Berechnung Hilfsvariablen H1 und Ermittlung des ganzzahligen Teiles (DIV)
//===================================================================================
$h1 = floor((($monat * 13)-1)/5);
//=====Schritt 5=====================================================================
// Berechnung Hilfsvariablen H2 und Ermittlung des ganzzahligen Teiles (DIV)
//===================================================================================
$h2 = floor($jahr2/4);
//=====Schritt 6=====================================================================
// Berechnung Hilfsvariablen H3 und Ermittlung des ganzzahligen Teiles (DIV)
//===================================================================================
$h3 = floor($jahr1/4);
//=====Schritt 7=====================================================================
// Berechnung Hilfsvariablen B
//===================================================================================
$b = $h1 + $h2 + $h3;
//=====Schritt 8=====================================================================
// Ermittlung der Zahl F fuer den Wochentag
//===================================================================================
$f = ((($b + $jahr2 + $tag)-(2 * $jahr1))%7);
// Testweises anzeigen des Inhaltes von $f
// echo('$f = '.$f.'<br/>');
//=====Schritt 8.1=====================================================================
// Pruefen ob F negativ - wenn ja, dann addiere 7
//===================================================================================
if ($f < 0) {
$f += 7;
}
// Testweises anzeigen des Inhaltes von $f
//echo('$f = '.$f.'<br/>');
//=====Schritt 9=====================================================================
// Ermittlung und Ausgabe des Wochentages
//===================================================================================
if ($f == 0)
{
$ergebnis = 'Sonntag';
}
elseif ($f == 1)
{
$ergebnis = 'Montag';
}
elseif ($f == 2)
{
$ergebnis = 'Dienstag';
}
elseif ($f == 3)
{
$ergebnis = 'Mittwoch';
}
elseif ($f == 4)
{
$ergebnis = 'Donnerstag';
}
elseif ($f == 5)
{
$ergebnis = 'Freitag';
}
elseif ($f == 6)
{
$ergebnis = 'Samstag';
}
else
{
$ergebnis = 'nichts gefunden!';
}
echo $formular;
//===================================================================================
// Ausgabe des Wochentages
//===================================================================================
echo('
<form>
<fieldset class="formular33prozent">
<legend>Ergebnis der Berechnung</legend>
Der gesuchte Wochentag lautet:
<input type="text" name="test3_ausgabe" value="'.$ergebnis.'" size="20" />
</fieldset>
</form>
');
// TESTAUSGABE DER VARIABLEN
/*
echo('$tag = '.$tag .'<br/>');
echo('$monat = '.$monat .'<br/>');
echo('$jahr = '.$jahr .'<br/>');
echo('$jahr1 = '.$jahr1 .'<br/>');
echo('$jahr2 = '.$jahr2 .'<br/>');
echo('$h1 = '.$h1 .'<br/>');
echo('$h2 = '.$h2 .'<br/>');
echo('$h3 = '.$h3 .'<br/>');
echo('$b = '.$b .'<br/>');
echo('$f = '.$f .'<br/>');
*/
}
else
{
echo $formular;
}
?>
</section>
</section>