Hotelbuchung
<!DOCTYPE html>
<html>
<head>
<title>Titel</title>
<meta charset="UTF-8">
<style>
form
{
background: #ccf;
width:40%;
border:1px solid black;
padding: 5px;
margin: auto;
}
</style>
</head>
<body>
<p>
<!-- Übung 4
Ein Hotelbuchungsformular soll erstellt werden. Es soll die Zimmerkategorie,
Anreise- und Abreisedatum, Raucher, Hund und Parkplatz ausgewählt werden können.
Anschließend wird ein zweites Formular zur Eingabe von Name, Kreditkartenauswahl
(Visa, Mastercard, American Express), Kartennummer, Sicherheitscode und Ablaufdatum angezeit.
Als Ergebnis wird eine Buchungsbestätigung angezeigt, die auch der Textdatei "buchungen.txt"
hinzugefügt wird. Die Daten sollen in Session-Variablen übertragen werden.
-->
</p>
<?php
session_start();
if(isset($_REQUEST['fo']))$fo=$_REQUEST['fo']; else $fo="";
if($fo==""){formular();}
if($fo=="zahlen"){zahlen_formular();}
if($fo=="check"){kartetesten();}
#~~~~~~~~~~~~~~~~~~~~~
function formular()
{
$s="<h1>HLW-Hotel</h1>";
$s.="<form method='POST' action=hotelbuchung.php>";
$s.="<input type='hidden' name='fo' value='zahlen'>";
$s.="Zimmerkategorie<br>";
$s.="<select name='zimmer'><option value='standard'>Standard</option>";
$s.="<option value='comfort'>Comfort</option><option value='suite'>Suite</option></select>";
$s.="<br>Personenzahl<br>";
$s.="<select name='personenzahl'><option value='1'>1</option>";
$s.="<option value='2'>2</option><option value='3'>3</option>";
$s.="<option value='4'>4</option></select>";
$datum=date("d-m-Y");
$s.="<br>Anreisedatum: tt-mm-yyyy<br>";
$s.="<input type='text' name='anreise' size='10' value=$datum><br>";
$s.="<br>Abreisedatum: tt-mm-yyyy<br>";
$s.="<input type='text' name='abreise' size='10' value=$datum><br>";
$s.="<br>Raucher: <input type='checkbox' name='raucher'><br>";
$s.="Hund: <input type='checkbox' name='hund'><br>";
$s.="Parkplatz: <input type='checkbox' name='parkplatz'><br>";
$s.="<p><input type='submit' value='Eintragen'>";
$s.="</form>";
echo $s;
}
function eingabeFiltern($eingabe)
{
return(preg_replace("/[^a-zA-Z0-9_]/","",$eingabe));
}
function zahlen_formular()
{
$zimmerwahl=$_REQUEST["zimmer"];
$anreisedatum=eingabeFiltern($_REQUEST["anreise"]);
$abreisedatum=eingabeFiltern($_REQUEST["abreise"]);
$personen=$_REQUEST["personenzahl"];
if(isset($_REQUEST["raucher"])){ $raucherzimmer=1;}else{$raucherzimmer=0;}
if(isset($_REQUEST["hund"])){ $hund=1; }else{ $hund=0;}
if(isset($_REQUEST["parkplatz"])){ $parkplatz=1; }else{ $parkplatz=0;}
// Überprüfen
if($anreisedatum=="" || $abreisedatum=="")
{
echo("<h3>Unvollständige Eingabe!</h3>");
formular();
return;
}
//Die Formulardaten als Session temporär speichern. Damit können die Daten
//von einer Funktion an die andere weitergeleitet werden.
$_SESSION["ses_zimmer"] = $zimmerwahl;
$_SESSION["ses_anreise"] = $anreisedatum;
$_SESSION["ses_abreise"] = $abreisedatum;
$_SESSION["ses_hund"] = $hund;
$_SESSION["ses_raucher"] = $raucherzimmer;
$_SESSION["ses_partkplatz"] = $parkplatz;
$s="<h1>HLW-Hotel Kreditkartenauswahl</h1>";
$s.="<form method='POST' action=hotelbuchung.php>";
$s.="<input type='hidden' name='fo' value='check'>";
$s.="Kreditkartenauswahl<br>";
$s.="<select name='karte'><option value='visa'>Visacard</option>";
$s.="<option value='master'>Mastercard</option>";
$s.="<option value='american'>American Express</option></select>";
$s.="<br>Kartennummer:<br>";
$s.="<input type='text' name='kartennummer' value='0000-0000-0000-0000'><br>";
$datum=date("d-m-Y");
$s.="<br>Gültigkeitsdatum: tt-mm-yyyy<br>";
$s.="<input type='text' name='gdatum' size='10' value=$datum><br>";
$s.="<br>Prüfnummer: <br>";
$s.="<input type='text' name='pruef' size='3'><br>";
$s.="<br>Karteninhaber: <br>";
$s.="<input type='text' name='inhaber'><br>";
$s.="<p><input type='submit' value='Eintragen'>";
$s.="</form>";
echo $s;
}
function kartetesten()
{
$hotel="Das Zimmer: ".$_SESSION["ses_zimmer"]." von ".$_SESSION["ses_anreise"];
$hotel.=" bis ".$_SESSION["ses_abreise"]." Hund: ".$_SESSION["ses_hund"].", ";
$hotel.="Raucher: ".$_SESSION["ses_raucher"]. " Parkplatz: ".$_SESSION["ses_partkplatz"];
// Überprüfen
if($_REQUEST['kartennummer']=="" || $_REQUEST['inhaber']=="")
{
echo("<h3>Unvollständige Eingabe!</h3>");
zahlen_formular();
return;
}
$karte=$_REQUEST['karte']." von ".$_REQUEST['inhaber']." gültig bis: ";
$karte.=$_REQUEST['gdatum']. " Prüfnummer: ".$_REQUEST['pruef'];
$karte.=" Kartennummer: ".$_REQUEST['kartennummer'];
textdatei_speichern($hotel,$karte);
}
function textdatei_speichern($text1,$text2)
{
$f=fopen("buchungen2.txt","a");
if($f)
{
$x=$text1."n".$text2."n";
fwrite($f,$x);
fclose($f);
}
echo("Buchung gespeichert!");
echo($text1."<p>".$text2."</p>");
echo("<a href='hotelbuchung.php'>zum Anfang</a>");
}
?>
</body>
</html>