254 lines
12 KiB
PHP
254 lines
12 KiB
PHP
<?php
|
||
session_start();
|
||
if(isset($_POST['Registrieren'])){
|
||
$vorname = $_POST["vorName"];
|
||
$nachname = $_POST['nachName'];
|
||
$strasse = $_POST['strasse'];
|
||
$hausnummer = $_POST['hausnummer'];
|
||
$plz = $_POST['postleitzahl'];
|
||
$ort = $_POST['ort'];
|
||
$emailrep = $_POST['emailRep'];
|
||
$email = $_POST['email'];
|
||
$passwort = $_POST['passwort'];
|
||
$passwortrep = $_POST['passwortRep'];
|
||
if(empty($vorname) || empty($nachname) || empty($strasse) ||
|
||
empty($hausnummer) || empty($plz) || empty($ort) ||
|
||
empty($emailrep) || empty($email) || empty($passwort) || empty($passwortrep))
|
||
{
|
||
header("Location: registrierung_wiederholen.html");
|
||
|
||
}elseif (!preg_match("/^[A-Za-zÄÖÜäöüß -]*$/", $vorname)
|
||
|| !preg_match("/.{2,}/", $vorname)
|
||
|| preg_match("/(?:([- ])\1{1,}|( -)|(- ))/", $vorname)
|
||
|| !preg_match("/^([A-ZÄÖÜa-zäöüß]{2,}[ -]?)+$/", $vorname)
|
||
|| !preg_match("/[a-zäöüß]$/", $vorname)
|
||
|| !preg_match("/^[A-ZÄÖÜ][a-zäöüß]+([- ][A-ZÄÖÜ][a-zäöüß]+)*$/", $vorname)
|
||
|| preg_match("/(\w)\1{2,}/", $vorname)) {
|
||
|
||
|
||
header("Location: registrierung_wiederholen.html");
|
||
|
||
}elseif (!preg_match("/^[A-Za-zÄÖÜäöüß -]*$/", $nachname)
|
||
|| !preg_match("/.{2,}/", $nachname)
|
||
|| preg_match("/([-])\1{1,}/", $nachname)
|
||
|| !preg_match("/^([A-ZÄÖÜa-zäöüß]{2,}[ -]?)+$/", $nachname)
|
||
|| !preg_match("/[a-zäöüß]$/", $nachname)
|
||
|| preg_match("/[A-ZÄÖÜ][a-zäöüß]+[ ]+[A-ZÄÖÜ][a-zäöüß]+/", $nachname)
|
||
|| !preg_match("/^(von( der)?|zu)[ ][A-ZÄÖÜ]|^[A-ZÄÖÜ]/", $nachname)
|
||
|| !preg_match("/(^(von( der)?|zu)[ ][A-ZÄÖÜ][a-zäöüß]+|^[A-ZÄÖÜ][a-zäöüß]+)([-][A-ZÄÖÜ][a-zäöüß]+)?$/", $nachname)
|
||
|| preg_match("/(\w)\1{2,}/", $nachname)) {
|
||
header("Location: registrierung_wiederholen.html");
|
||
|
||
}elseif ( !preg_match("/.{2,}/", $strasse)
|
||
|| !preg_match("/^[^0-9]*$|[0-9]$/", $strasse)
|
||
|| !preg_match("/^[A-Za-z0-9ÄÖÜäöüß' -]+$/", $strasse)
|
||
|| !preg_match("/^[A-ZÄÖÜ][ -]?[a-zäöü0-9ß']+([ -]?[A-ZÄÖÜ0-9][A-Za-z0-9ÄÖÜäöüß']+)*$/", $strasse)
|
||
|| !preg_match("/[0-9]$|[a-zäöüß]$/", $strasse)) {
|
||
|
||
header("Location: registrierung_wiederholen.html");
|
||
}elseif ( !preg_match("/^[0-9]/", $hausnummer)
|
||
|| preg_match("/^0/", $hausnummer)
|
||
|| !preg_match("/^[1-9][0-9]{0,3}[a-z]?$/", $hausnummer)){
|
||
header("Location: registrierung_wiederholen.html");
|
||
}elseif ( !preg_match("/^(0100[1-9]|010[1-9][0-9]|01[1-9][0-9]{2}|0[2-9][0-9]{3}|[1-9][0-9]{4})$/", $plz)){
|
||
header("Location: registrierung_wiederholen.html");
|
||
}elseif ( !preg_match("/.{2,}/", $ort)
|
||
|| preg_match("/[ \/-][ \/-]/", $ort)
|
||
|| !preg_match("/^[A-ZÄÖÜa-zäöüß \/-]+$/", $ort)
|
||
|| preg_match("/(\w)\1{2,}/", $ort)
|
||
|| !preg_match("/^[A-ZÄÖÜ]/", $ort)
|
||
|| !preg_match("/[a-zäöüß]$/", $ort)
|
||
|| !preg_match("/^[A-ZÄÖÜ][a-zäöüß]+([ -\/][A-ZÄÖÜa-zäöü][a-zäöüß]+)*$/", $ort)){
|
||
header("Location: registrierung_wiederholen.html");
|
||
}elseif ( !preg_match("/[A-Za-z0-9_!#$%&'*+-\/=?^_`.{|}~]+[@][A-Za-z0-9-]+[.][A-Za-z]{2,}/", $email)){
|
||
header("Location: registrierung_wiederholen.html");
|
||
}elseif($email != $emailrep){
|
||
header("Location: registrierung_wiederholen.html");
|
||
}elseif (!preg_match("/^(?=.*[A-ZÄÖÜ])(?=.*[a-zäöüß])(?=.*[0-9])(?=.*[!°`´@#$%^&*()_+\-=\[\]{};':\"\\|,.<>\/?]).{6,}$/", $passwort)
|
||
|| !preg_match("/.{6,}/", $passwort)){
|
||
header("Location: registrierung_wiederholen.html");
|
||
}elseif($passwort != $passwortrep){
|
||
header("Location: registrierung_wiederholen.html");
|
||
}else{
|
||
|
||
|
||
echo '<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta lang="de"/>
|
||
<meta charset="utf-8"/>
|
||
<meta name="viewport" content="device=device-width, initial-scaling=1"/>
|
||
<link rel="Stylesheet" type="text/css" href="style.css"/>
|
||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||
<title>Candle Bibliothek | Erfolgreich Registriert</title>
|
||
<link rel="icon" href="pictures/candle.png">
|
||
</head>
|
||
|
||
<body>
|
||
<header>
|
||
<h1 class="kopf" >
|
||
<br><br>
|
||
Bibliothek <a href="index.html" id="bildID"> <img id="CandleID" src="pictures/candle.png" alt="Bild von einer Kerze"
|
||
width="200" height="192"/> </a>
|
||
<br><br> Candle
|
||
</h1>
|
||
<div>
|
||
<a id="uberuns" href="uberuns.html">Über Uns</a>
|
||
<a id="buecher" href="buecher.php">Bücher</a>
|
||
<a id="meinebuecher" href="anmelden_meinebuecher.php">Meine Bücher</a>
|
||
<a id="abmelden" href="abmelden.php">Abmelden</a>
|
||
<form action="">
|
||
<input class="suchleiste" type="search" placeholder="Suche..." >
|
||
<button type="submit" id="buttonID" class="searchButton"><i class="fa fa-search"></i> </button>
|
||
</form>
|
||
<a id="erweitertesuche" href="erweitertesuche.html">Erweiterte Suche</a>
|
||
<a href="anmelden.php" id="warenKorbID"> <img id="shoppingCard" src="pictures/einkaufswagen.png" alt="Bild von einem Wagen"
|
||
width="50" height="50"/> </a>
|
||
</div>
|
||
</header>
|
||
|
||
<!--------------------------------------------------------------------->
|
||
|
||
<div class="mainContentContainer">
|
||
<div class="titleContainer">
|
||
<h1 id="registeredTitle">Erfolgreich registriert</h1>
|
||
</div>
|
||
<div class="mainContent">
|
||
<p id="textFirstHalf">
|
||
Sie wurden erfolgreich registriert.
|
||
<br><br>Ihre Karten-ID ist</p>
|
||
<!--TODO: Placeholder entfernen
|
||
und durch ID aus Datenbank ersetzen-->
|
||
<p id="cardID">XXXXXX.</p>
|
||
<br><br>
|
||
<p id="textLastHalf">
|
||
Mit dieser ID und Ihrem Passwort
|
||
können Sie sich direkt auf unserer Website anmelden und,
|
||
bei Bedarf, bereits Bücher für eine Ausleihe reservieren.
|
||
<br><br>Die Karten-ID findet sich auf Ihrem
|
||
Bibliotheksausweis wieder, welchen Sie bei Ihrem ersten
|
||
Besuch in unserer Bibliothek erhalten.
|
||
<br>Der Bibliotheksausweis kostet 10€ und muss jedes Jahr
|
||
vor Ort für den gleichen Preis verlängert werden.
|
||
<br>Bitte beachten Sie, dass ohne Vorlage eines
|
||
gültigen Ausweises, keine Bücher abgeholt werden können.
|
||
</p>
|
||
<br>
|
||
<!--TODO: Event für den Button befindet sich momentan
|
||
noch hier in der Datei. Soll die Funktion in eine
|
||
andere Datei verschoben werden, da sich eigentlich keine
|
||
EventListener in der HTML-Datei befinden sollen?-->
|
||
<input type="button" id="loginNowButton" value="Jetzt anmelden"
|
||
onclick="linkToLoginPage()">
|
||
|
||
<script>
|
||
function linkToLoginPage() {
|
||
window.location.replace("anmelden_meinebuecher.php");
|
||
}
|
||
</script>
|
||
|
||
<br><br><br>
|
||
</div>
|
||
</div>
|
||
|
||
<!--------------------------------------------------------------------->
|
||
|
||
<!--Link JS file-->
|
||
<script src="burgerIcon.js"></script>
|
||
<script>
|
||
var widthissue = false;
|
||
window.addEventListener("resize", function(event) {
|
||
if(window.innerWidth > 800 && widthissue) {
|
||
widthissue = false
|
||
unset()
|
||
}
|
||
else if(window.innerWidth < 800) widthissue = true;
|
||
})
|
||
|
||
</script>
|
||
|
||
<nav id="activeid" class="active">
|
||
<div class="navLinks">
|
||
<input class="nav-toggleclass"id="nav-toggle" type="checkbox" onclick="openNav()";>
|
||
<label for="nav-toggle" class="icon-burger" >
|
||
<div class="line"></div>
|
||
<div class="line"></div>
|
||
<div class="line"></div>
|
||
</label>
|
||
</div>
|
||
</nav>
|
||
|
||
|
||
<footer class="fuss" >
|
||
<div>
|
||
<a id="impressum" href="impressum.html">Impressum</a>
|
||
<a id="kontakt" href="kontakt.html">Kontakt</a>
|
||
<a id="datenschutz" href="datenschutz.html">Datenschutz</a>
|
||
|
||
</div>
|
||
</footer>
|
||
|
||
</body>
|
||
|
||
</html>';
|
||
$db_link = mysqli_connect('localhost', 'web_b-3', 'een7Ao6s', 'bibliothek_candle', '3306');
|
||
|
||
function runSQL($sql){
|
||
global $db_link;
|
||
$db_res = mysqli_query($db_link, $sql) or die("SQL_Abfrage: " . $sql . "Fehler: " . mysqli_error($db_link));
|
||
return $db_res;
|
||
}
|
||
|
||
|
||
$kartenid = 1000000000000000;
|
||
|
||
function register($vorname,
|
||
$nachname ,
|
||
$strasse,
|
||
$hausnummer,
|
||
$plz,
|
||
$ort,
|
||
$emailrep,
|
||
$email,
|
||
$passwort,
|
||
$passwortrep){
|
||
|
||
global $db_link;
|
||
$vorname = mysqli_real_escape_string($db_link, $vorname);
|
||
$nachname = mysqli_real_escape_string($db_link, $nachname);
|
||
$email = mysqli_real_escape_string($db_link, $email);
|
||
$passwort = md5( $passwort);
|
||
$ort = mysqli_real_escape_string($db_link, $ort);
|
||
$plz = mysqli_real_escape_string($db_link, $plz);
|
||
$strasse = mysqli_real_escape_string($db_link, $strasse);
|
||
$hausnummer = mysqli_real_escape_string($db_link, $hausnummer);
|
||
|
||
//Benutzer schon vorhanden?
|
||
$db_res = runSQL("SELECT COUNT(*) FROM benutzer WHERE E-MailAdresse='" . $email . "'");
|
||
$row = mysqli_fetch_array($db_res);
|
||
|
||
if($row['COUNT(*)'] > 0)
|
||
{
|
||
return 'Es gibt schon einen Benutzer mit der angegebenen E-Mail Adresse';
|
||
}
|
||
|
||
runSQL("INSERT INTO benutzer (VorName, NachName, KartenID, E-MailAdresse, Passwort) VALUES ('". $vorname ."' , '". $nachname ."' ,'". $kartenid ."' , '". $email ."', '". $passwort ."')");
|
||
runSQL("INSERT INTO adresse (Stadt, Postleitzahl, Straße, Hausnummer) VALUES ('". $ort ."' , '". $plz ."' ,'". $strasse ."' , '". $hausnummer ."')");
|
||
$kartenid = $kartenid + 1;
|
||
}
|
||
|
||
register($vorname,
|
||
$nachname ,
|
||
$strasse,
|
||
$hausnummer,
|
||
$plz,
|
||
$ort,
|
||
$emailrep,
|
||
$email,
|
||
$passwort,
|
||
$passwortrep);
|
||
|
||
}
|
||
|
||
}
|
||
?>
|