<?php
/**
* Festlegung der Untergrenze für die PHP-Version
* @version 1.0
*/
if (0 > version_compare(PHP_VERSION, '7')) {
    die('<h1>Für diese Anwendung ' . 'ist mindestens PHP 7 notwendig');
}

session_start();

?>

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Image2Food - Sag mir was ich daraus kochen kann - login</title>
</head>
<body> 
   <div id="nav">
    <?php 
    require("nav.php"); 
    require("plausi.inc.php")
    ?>
    </div>
   <div id="content">
        <h1>Login</h1>
        <?php
        require("login.inc.php");
        /**
         * Das soziale Netzwerk für Kochideen
         * die Loginseite
         */
        class Login {
            

            public function _login(){
                if ($this->plausiblisieren()) {
                    $this->anmelden_db();
                }
            }

            /**
             * Plausiblisierungsmethode
             * Testet die einzelnen Eingabefelder des Registrierungsformulars gegenüber
             * - den Notwendigkeiten in der MySQL-Datenbank und
             * - weiteren Anforderungen, die die Logik des Netzwerks fordert
             * Die Eingaben stehen im globalen Array $_POST zur Verfügung
             * @return true, wenn die Plausiblisierung keine Fehler ergab - sonst false
             */

            private function plausiblisieren() {
                // Fehlervariable
                $anmelden = 0;

                $p = new Plausi();
                $anmelden += $p->nutzerdatentest($_POST['userid']);
                $anmelden += $p->nutzerdatentest($_POST['pw']);

            // Testausgaben für den derzeitigen Stand des Projekts
            echo "Die Eingaben: <hr>";
            print_r($_POST);
            echo "<br>Fehleranzahl: " . $anmelden . "<hr>";
            if ($anmelden == 0) return true;
                else return false;
            } 

            private function anmelden_db() {
                $vorhanden = false;
                require("db.inc.php");
                if ($stmt = $pdo->prepare("SELECT userid, pw FROM mitglieder")) 
                {
                    $stmt -> execute();
                    while ($row = $stmt -> fetch()) {
                        if (isset($_POST["userid"]) && $_POST["userid"] == $row['userid'] && md5($_POST["pw"]) == $row['pw']); {
                            $vorhanden = true;
                            break;
                        }
                    }
                }
                
                if ($vorhanden) {
                    $_SESSION["name"] = $_POST["userid"];
                    $_SESSION["login"] = "true";
                    $dat = "index.php";
                }
                else {
                    $dat = "loginfehler.php";
                }
                header("Location: $dat");
            }
        }
        
        $regobj = new Login();
        if (sizeof($_POST) > 0) {
            $regobj->_login();
        }
         ?>
   </div>

</body>
</html>