104 lines
3.1 KiB
PHP
104 lines
3.1 KiB
PHP
<?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>
|