<file_sep><main>	
	<h1 class = "ueberschrift"> Falsche Daten</h1>
	<?php
		//Überprüfen ob das Formular auch wirklich ausgefüllt wurde
		if(!empty($_POST['submit']) && $_POST['submit'] === 'Registrieren') {

			//herausholen der Daten aus dem Post
			$data = $_POST;
			
			//Prüfvariable
			$invalid = false;
			

			//Überprüfen ob name grösser als 40 oder kleiner als 5 ist
			if(strlen($data['name']) > 40 || strlen($data['name']) < 5) {?>
				<p><?php echo 'Benutzername muss zwischen 5 und 40 Zeichen lang sein!<br/>';
				$invalid = true;
			}

			//Email regex für eine Valide Emailadresse
			if(!preg_match('/^(\w{2,}|\w{2,}[\.\-]\w{2,})@(\w{2,}\.\w{2,}|\w{2,}[\.\-]\w{2,}\.\w{2,})$/', $data['email'])) {
				echo 'Email ist ung&uuml;ltig!<br/>';
				$invalid = true;
			}

			//Prüfen ob beide Passwörter gleich sind.
			if($data['pw1'] === $data['pw2']) {
				if(!preg_match('/^[\w@#%&$£]{8,}$/', $data['pw1'])) {?>
				<p><?php echo 'Passwort muss folgendes erf&uuml;llen:' ?> </p>
				<p> Mindestens 8 Zeichen lang!<br> </p>
				<p>Mindestens eine Zahl!<br> </p>
				<p>Mindestens ein Sonderzeichen!<br></p> 
				<?php
					$invalid = true;
				}
			
			} 
			
			else 
			{
				?><p><?php echo 'Passw&ouml;rter stimmen nicht &uuml;berein!<br/>';?> </p> <?php
				$invalid = true;
			}
			

			//überprüfen ob alles richtig
			if($invalid == false) 
			{
				//Speichern der Daten in Session
				$db = connect();
				$stmt = $db->prepare(
				"INSERT INTO Profil (name, email, benutzername, passwort) VALUES (?, ?, ?, ?)");
				// Das Passwort wird gehasht
				$password = hash('<PASSWORD>', $data['pw1']);
				$stmt->bind_param("ssss", $_POST["name"], $_POST["email"], $_POST["username"], $password);
				$stmt->execute();
				if (isset($_SESSION['username'])){}
				$_SESSION['data'] = $data;
				$db->close();
				//Weiterleitung zum insert-File
				header("Location: login");
			}
		} 
		else 
		{
			//Hinweis, dass das Formular nicht ausgefüllt ist
			echo 'F&uuml;llen Sie bitte zuerst das <a href="signup">Formular</a> aus!<br/>';
			
		}
	?>
</main><file_sep><!--
Hier wird die Webseite für das Produkt gemacht, auf welches man klickt.
Das Produkt wird gross mit allen Angeben dargestellt.
-->
<?php
    //Verbindung zur Datenbank
    $db = connect();;
?>
<!-- <main class = "nachsuche"> -->
<?php
// Select Anfrage wird vorbereitet.
    $id = $_GET['p'];
    $sql = "SELECT Preis, Bild, Bild2, Name, Beschreibung, Kategorie_ID from Artikel join Kategorie on ID_Kategorie = Kategorie_ID WHERE ID_Artikel = $id ";
    $result = $db->query($sql);
    if($result->num_rows >= 1) {
        while($row = $result->fetch_assoc()) { ?>
<main class = "mainprodukt">
    <div>
        <h1 class = "ueberschrift"><?PHP echo  $row['Name']?></h1> 
        <p></p>
        <div class = "anzeigeProdukt">
            <div class="ui grid">
                <div class="ten wide column">
                    <div class="slideshow-container">
                        <div class="mySlides">           
                            <!-- Hier werden die Img's für den Slide eingefügt.-->  
                            <img class = "imgprodukt"src="pictures/<?php echo $row['Bild']?>" alt="Das Bild kann nicht angekeit werden.">
                        </div>
                        <div class="mySlides"> 
                            <img class = "imgprodukt" src="pictures/<?php echo $row['Bild2']?>" alt="Das Bild kann nicht angekeit werden.">
                        </div>
                    </div>
                </div>
                <!-- Hier wird das Grid vorbereitet -->
                <div class="six wide column"><h2 class = "beschreibung">Grösse:</h2> 
                <form action="home">
                    <select class = "groesse" name="groesse">
                    <?php
                    // Je nach Kategorie werden verschiedene Grössen angezeit. Hier sind es die Schuhe.
                        if ($row['Kategorie_ID'] == 1){
                    ?>
                    <option value="42" seleced> Grösse wählen</option>
                    <option value="42">42</option>
                    <option value="42.5">42.5</option>
                    <option value="43" >43</option>
                    <option value="43.5">43.5</option>
                    <?php
                    // Hier sind es die Kleider
                        }
                        Else if ($row['Kategorie_ID'] == 2){
                    ?>
                    <option value="S" seleced> Grösse wählen</option>
                    <option value="S">S</option>
                    <option value="M">M</option>
                    <option value="L" >L</option>
                    <?php 
                        // Hier sind es die anderen Sachen wie Caps oder Rucksäcke.
                        } 
                        else
                        {
                    ?>
                    <option value="42" seleced> Grösse wählen</option>
                    <option value="1">One Size</option>
                    <?php 
                        }
                    ?>
                    </select>
                </form>
                <!-- Hier werden die Daten für den Preis und Info eingfügt -->
                <h2 class = "beschreibung">Preis: <span class = "anzeige"> <?php echo $row['Preis'] ?> . -</span></h2>
                <h2 class = "beschreibung">infos: <span class = "anzeige"> <?php echo $row['Beschreibung']?></span></h2>
                <a href="https://www.stadiumgoods.com" target="_blank"><button class="ui inverted green button">Kaufen</button></a>
                </div>
            </div>
        </div>        
    </div>
    <?php
    }
}

    ?>
    <script>
    // Hier wird dei Slideschow erstellt, wo die Produkte gezeigt werden.
        var slideIndex = 0;
        showSlides();
        function showSlides()
        {
            var slides = document.getElementsByClassName("mySlides");
            for (i = 0; i < slides.length; i++) 
            {
                slides[i].style.display =  "none"; 
            }
            slides[slideIndex].style.display =  "block";
            slideIndex = slideIndex + 1;
            if (slideIndex >= slides.length)
            {
                slideIndex = 0;
            }
            setTimeout(showSlides, 2500);
        }
    </script>
</main>
<?php
$db->close();
?><file_sep><?php
    //Verbindung zur Datenbank
    $db = connect();
?>
<main class = "nachsuche">
    <?php
        $suche = $_POST['suche'];
    ?>
    <h1 class = "ueberschrift"><?php echo $suche?></h1>
    <?php
        $i = 1;
        // Es nach dem Produkt gesucht, welches man sucht
        $sql = "SELECT ID_Artikel,Preis, Bild, Name from Artikel WHERE name like '%$suche%'";
        $result = $db->query($sql);
        if($result->num_rows >= 1) { 
    ?>
    <!-- Es wird im dem Grid die einzelnen Produkte aufgelistet-->
    <div class="ui grid">
        <?php
        //Es erstellt solange neue grideinträge bis es keine Produkte hat, welche dem Suchbegriff entsprechen.
            while($row = $result->fetch_assoc()) {
        ?>     
        <div class="four wide column"><a href="produkt?p=<?php echo $row['ID_Artikel']?>"><img class="img" src="pictures/<?php echo $row['Bild'] ?>" alt="Das Bild kann nicht angekeit werden.">
            <br></a><p><?php echo $row['Name'] ?></p> <br>
            <p><?php echo $row['Preis'] ?> . -</p>
        </div>
        <?php
            } 
            }else
            {
        ?>
        <!-- Diese Seite wird geladen, wenn es keien Ergebnisse hat-->
        <div class = "keienErgebnisse"> 
            <img class = "umgekehrt" src="pictures/Ergebnisse.png" alt=""><img class = "umgekehrt" src="pictures/Ergebnisse.png" alt="Das Bild kann nicht angekeigt werden.">
            <h1 class = "ueberschrift">Keine Ergebnisse gefunden!</h1>
            <img class = "normal" src="pictures/Ergebnisse.png" alt=""><img class = "normal" src="pictures/Ergebnisse.png" alt="Das Bild kann nicht angezeigt werden.">
        </div>
    <?php
        }
        $db->close();
    ?>
</main><file_sep><?php /*Hier wird die verbindung auf die DB in eine Funktion gepakt.*/
    function connect(){
        $db = new Mysqli("srv108", "hoogj", "<PASSWORD>$", "<PASSWORD>");
        return $db;
    }
?><file_sep><!-- Hier wird geschaut ob alles mit dem Login inordnug ist.-->
<?php
//Verbindung zur Datenbank
	$db = connect();

//holen der Daten
	$data = $_POST;
	$name= $data["username"];
	$password = hash('<PASSWORD>', $data['pw']);

//Definieren des Queries
	$sql = "SELECT ID_Profil, Benutzername, Email, Name FROM Profil WHERE Benutzername = ? AND Passwort = ?;";
	$statement = $db->prepare($sql);
	$statement->bind_param('ss', $name, $password);
	$statement->execute();
	$statement->bind_result($id_user, $username, $email, $name);
// die Daten in das User array schreiben
	while($statement->fetch()){
		$user = array('ID_Profil' => $id_user, 'Benutzername' => $username,  'Email' => $email, 'Name' => $name);
	}
// Die daten in das Userdata schreiben, aber nur wenn user schon gefüllt ist.
	if(!empty($user)){
		$_SESSION['userdata'] = array("ID_Profil" => $user['ID_Profil'], "Benutzername" => $user['Benutzername'], "Email" => $user['Email'], "login" => true);
		$_SESSION['name']= $name;
		
		header("Location: myaccountreg");
// es wird eine error gespeichet, welcher wird dann im Home brauchen
	}else{
		$_SESSION['error']='login';
		header("Location: login");
	}
	$db->close();
?><file_sep><!-- Hier wird die myAccount Seite gemacht, wenn man eingelogt ist-->
<main>
    <h1 class = "ueberschrift"><?php echo $_SESSION['userdata']['Benutzername']?></h1>
    <p>Name: <?php echo $_SESSION['name']?></p>
    <p>Email: <?php echo $_SESSION['userdata']['Email']?></p>
    <p>Passwort ändern kannst du <a href="passwort">Hier</a> </p>
    <p>Deinen Account löschen kannst du <a href="delete">Hier</a></p>
    <img class = "normal" src="pictures/Suche.png" alt=""><img class = "normal" src="pictures/Suche.png" alt="Das Bild kann nicht angezeigt werden.">
</main><file_sep><!-- Hier wird die Seite zusammengebaut je nach request-->
<?php
    function build($page) 
    {
        ?>
    <!DOCTYPE html>
    <html>
        
        <?php require_once 'head.php'; ?> 
        
        <body>
            <header>
                <?php require_once 'header.php'; ?> 
            </header>
            <?php
            /*Hier wird geschaut ob der User sich schon eingeloggt hat,
            wenn ja dann wird die navigationreg genommen wenn nein dann die normaile Navigaion.*/ 
                if(isset($_SESSION['userdata'])){
            ?>
            <nav>
                <?php require_once 'navigationreg.php';?>
            </nav>
            <?php
            }
            else{
            ?>
            <nav>
                <?php require_once 'navigation.php';?> 
            </nav>
            <?php
            }
            ?>
            <main>
                <?php require_once './views/'.$page; 
                require_once './views/BackToTop.php'; ?> 
            </main>
            <footer>
                <?php require_once 'footer.php'; ?> 
            </footer>
        </body>
    </html>
    <?php
}
?><file_sep><!-- Hier wird der Account gelöscht-->
<?php
    //Verbindung zur Datenbank
    $db = connect();

    //holen der Daten
    $data = $_POST;
    //Definieren des Queries
    $sql = "delete  FROM Profil WHERE ID_Profil = ?;";
    $statement = $db->prepare($sql);
    var_dump( $_SESSION["userdata"]["ID_profil"]);
    $statement->bind_param('i', $_SESSION["userdata"]["ID_Profil"]);
    $statement->execute();
    header("Location: logout");
    $db->close();
?>  <file_sep><!-- Hier wird der Button erstellt, mit welchen man zurück zu dem Anfang kommt erstellt.-->
<main>
    <button onclick="topFunction()" id="myBtn" title="Go to top">Zum Seitenanfang</button>
    <script>
        // Wenn 30px nach unten gescrollt werden, erscheint der button
        window.onscroll = function() {scrollFunction()};

        function scrollFunction() {
        if (document.body.scrollTop > 30 || document.documentElement.scrollTop > 23) {
            document.getElementById("myBtn").style.display = "block";
        } 
        else 
        {
            document.getElementById("myBtn").style.display = "none";
        }
        }

        // Wenn auf den Button geklickt wird, zurück zum Anfang des Dokuments
        function topFunction() {
        document.body.scrollTop = 0;
        document.documentElement.scrollTop = 0;
        }
    </script>
</main><file_sep><!-- Hier wrid das Login zusammen gebaut.-->
<main>
    <h1 class = "ueberschrift">Login</h1> 
    <form class = "formular" action="checklogin" method = "post" >
        <input class = "form" type="text" placeholder = "Username*" name = "username"required>
        <br>
        <input class = "form" type="password" placeholder = "Passwort*" name = "pw"required>
        <br>
        <input class = "SigninSubmit" type="submit">    
    </form>
    <!-- Es wird geschaut ob in der Session ein error gespeichert wurde-->
    <?php
        if(isset($_SESSION['error']) && $_SESSION['error' =='login']){
            ?>
            <!-- Es wird eine Error ausgegeben-->
            <p class = "error"> Das Passwort oder der Benutzernmae ist falsch!</p>
            <?php
        }
    ?>
    <div class="divImgSignin">
    </div>
</main>
<file_sep><!-- Hier wird die Home Seite erstellt.-->

<?php
//Verbindung zur Datenbank
$db = connect();
?>
<!-- Das Grid vorbereiten-->
<main class = "mainhome">
    <h1 class = "ueberschrift">Home</h1>
    <div class="ui grid">
    <?php
    $i = 1;
    // 20 Mal das Select Statement ausführen um 20 Produkte aus der DB zu lesen
    while($i <= 20){
    $sql = "SELECT ID_Artikel, Preis, Bild, Name from Artikel 
    where ID_Artikel= $i;";
    $result = $db->query($sql);
    if($result->num_rows >= 1) {
        // Für jedes Produkt das Grid zusammenbauen
        while($row = $result->fetch_assoc()) {
            ?>
            <div class="four wide column"><a href="produkt?p=<?php echo $row['ID_Artikel']?>"><img class="img" src="pictures/<?php echo $row['Bild'] ?>" alt="Das Bild kann nicht angekeit werden.">
            <br></a><p class = "p"><?php echo $row['Name'] ?> </p>
            <br><p class = "p"><?php echo $row['Preis'] ?> . -</p>
            </div>
            <?php
        }
    }$i = $i + 1;
}
$db->close();
?>
</div>
</main>
<file_sep><!-- Es wird die Sessin abgebrochen, daher wird man ausgelogt-->
<?php
    session_destroy();	
    header("Location: Login");
?><file_sep><!-- Hier wird die das Passwort überprüft und geändert. -->
<?php
	//Überprüfen ob das Formular auch wirklich ausgefüllt wurde
	if(!empty($_POST['submit']) && $_POST['submit'] === 'ändern') {

		//herausholen der Daten aus dem Post
		$data = $_POST;
		//Prüfvariable
		$invalid = false;
		$pw1= $data['pw1'];   
		$pw2 = $data['pw2'];
		//Prüfen ob beide Passwörter gleich sind.
		//Prüfen ob es den Anforderungen entspricht
		if($pw1 === $pw2) {
			if(!preg_match('/^[\w@#%&$£]{8,}$/', $pw1)) {?>
				<h1 class = "ueberschrift">Falsche Daten.</h1>
				<p><?php echo 'Passwort muss folgendes erf&uuml;llen:' ?> </p>
				<p> Mindestens 8 Zeichen lang!<br> </p>
				<p> Mindestens eine Zahl!</li><br>
				<p> Mindestens ein Sonderzeichen!<br></p> 
				<img class = "normal" src="pictures/Suche.png" alt=""><img class = "normal" src="pictures/Suche.png" alt="Das Bild kann nicht angezeigt werden.">
				<?php
				$invalid = true;
			}

		} 
		else 
		{
			?><h1 class = "ueberschrift">Die Passwörter sind nicht gleich.</h1>
			<p><?php echo 'Passw&ouml;rter stimmen nicht &uuml;berein!<br/>';?> </p> 
			<img class = "normal" src="pictures/Suche.png" alt=""><img class = "normal" src="pictures/Suche.png" alt="Das Bild kann nicht angezeigt werden."><?php
			$invalid = true;
		}

		//überprüfen ob alles richtig
		if($invalid == false) {
			$pw1= hash('sha256', $data['pw1']);   
			$pw2 = hash('sha256', $data['pw2']);
			//Speichern der Daten in Session
			$db = connect();
			$stmt = $db->prepare("update Profil set Passwort  = ? where ID_Profil = ?;");
			$stmt->bind_param("ss", $pw1, $_SESSION["userdata"]['ID_Profil']);
			$stmt->execute();
			$_SESSION['data'] = $data;
			$db->close();
			//Weiterleitung zum home-File
			header("Location: home");               
		}
	}
?><file_sep><?php
session_start();
//Builder laden
	include_once "resources/builder.php";
	include_once "resources/Database.php";
/*
Die Wichtchtigsten Befehle:

*Explode()	-->		Teilt einen String anhand eriner Zeichenkette
*trim()		-->		eintfernt Whitespaces (ider andere Zeichen) am Anfang und End eines Strings
*$-serve['Request_uri]	--> 	Der URI, der angegeben wurde, um auf die akuelle Seite zuzugreiffen
*strstr		--> 	Findet das erste Vorkommen eines Strings
*/
//Die URL Teilen
$temp = trim($_SERVER['REQUEST_URI'], '/');
$url = explode('/', $temp);

if (isset($url[2])){
	$url = explode('?', trim($url[2]));
}
else
{
	$url[0] = $url[2];
}

if(!empty($url[0]))
{
	// alles zu Kleinbuchstaben umformtieren
	$url[0] = strtolower($url[0]);
	switch($url[0])
	{
		case 'home':
			build('home.php');
			break;
		case 'login':
			build('login.php');
			break;
		case 'search':
			build('search.php');
			break;
		case 'produkt':
			build('produkt.php');
			break;
		case 'impressum';
			build('impressum.php');
			break;
		case 'search':
			build('search.php');
			break;
		case 'nachsuche':
			build('nachSuche.php');
			break;
		case 'signup':
			build('signup.php');
			break;
		case 'validate':
			build('validate.php');
			break;
		case 'checklogin':
			build('checklogin.php');
			break;
		case 'myaccountreg':
			build('myAccountreg.php');
			break;
		case 'insert':
			build('insert.php');
			break;
		case 'logout':
			build('logout.php');
			break;
		case 'passwort':
			build('passwort.php');
			break;
		case 'passwortaendern':
			build('passwortaendern.php');
			break;
		case 'delete':
			build('delete.php');
			break;
		case 'deleteaccount':
			build('deleteaccount.php');
			break;
	}
}//Ist der Wert nicht gesetzt wird die Standartseite (home) aufgerufen.
else
{
	build('home.php');
}
    
?>