-
-
<?php
-
class LoginSystem
-
{
-
private $database;
-
-
public function LoginSystem($database)
-
{
-
$this->database = $database;
-
-
-
}
-
-
/* registerUser
-
* Registriert einen neuen Benutzer in der Datenbank, wenn dieser nicht schon existiert.
-
* $username: Benutzername des zu registrierenden Benutzers
-
* $email: E-Mail des zu registrierenden Benutzers
-
* $password: Passwort des zu registrierenden Benutzers
-
* returns: ’success‘ bei erfolgreicher registrierung, sonst ‚usernameExistsAlready‘
-
* wenn der Benutzername schon existiert oder ‚passwordExistsAlready‘, wenn
-
* das Passwort schon existiert */
-
public function register($username, $email, $password)
-
{
-
if(filter_var($email, FILTER_VALIDATE_EMAIL))
-
{
-
$password = $this->encrypt($password);
-
$db_res = $this->database->runSQLQuery("
-
SELECT Username, Email FROM users WHERE
-
Username = ‚$username‘ OR
-
Email = ‚$email‘
-
");
-
-
-
if($row[‚Username‘] == $username)
-
{
-
return(‚usernameExistsAlready‘);
-
}
-
else
-
{
-
return(‚emailExistsAlready‘);
-
}
-
-
$db_res = $this->database->runSQLQuery("
-
INSERT INTO users
-
(
-
Username,
-
Email,
-
Password
-
)
-
VALUES
-
(
-
‚$username‘,
-
‚$email‘,
-
‚$password‘
-
)");
-
-
return(’success‘);
-
}
-
else
-
{
-
return(’noValidEmail‘);
-
}
-
}
-
-
private function encrypt($value)
-
{
-
for($i=0; $i<100000; $i++)
-
{
-
$value =
md5($value .
’sfviösogfw8oigfro9wfvgoklvgsukvfkhsdjv‘);
-
}
-
return($value);
-
}
-
-
public function login($email, $password)
-
{
-
$password = $this->encrypt($password);
-
$loginDataValid = $this->checkLoginData($email, $password);
-
if($loginDataValid == ’success‘)
-
{
-
$db_res = $this->database->runSQLQuery("SELECT * FROM users WHERE Email=’" . $email . "’");
-
-
-
$_SESSION[‚isLoggedIn‘] = true;
-
$_SESSION[‚Username‘] = $row[‚Username‘];
-
$_SESSION[‚Password‘] = $row[‚Password‘];
-
-
return(’success‘);
-
}
-
else
-
{
-
return($loginDataValid);
-
}
-
}
-
-
public function logout()
-
{
-
$_SESSION[‚isLoggedIn‘] = false;
-
}
-
-
public function isLoggedIn()
-
{
-
if(isset($_SESSION[‚isLoggedIn‘]))
-
{
-
if($_SESSION[‚isLoggedIn‘] == true)
-
{
-
return(true);
-
}
-
else
-
{
-
return(false);
-
}
-
}
-
else
-
{
-
return(false);
-
}
-
}
-
-
/* checkLoginData
-
* Prüft, ob ob ein Benutzer mit den angegebenen Login-Daten existiert.
-
* $email: Angegebene E-Mail des Benutzers
-
* $password: Angegebenes Passswort des Benutzers
-
* returns: Wenn Benutzer existiert: ’success‘, sonst wrongEmail bei falscher E-Mail-Adredesse
-
* und wrongPassword bei falschen Passwort */
-
private function checkLoginData ($email, $password)
-
{
-
$db_res = $this->database->runSQLQuery("SELECT Password FROM users WHERE Email=’" . $email . "’");
-
-
{
-
return(‚wrongEmail‘);
-
}
-
-
-
{
-
if($row[‚Password‘] == $password)
-
{
-
return(’success‘);
-
}
-
-
return(‚wrongPassword‘);
-
}
-
}
-
-
}
-
?>
-