Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Verbindung zur Datenbank
- $db = mysqli_connect('localhost', 'id5774309_anmeldung', 'anmeldung', 'id5774309_anmeldung');
- // Variable deklarieren
- $username = "";
- $email = "";
- $errors = array();
- // Registrierung hervorrufen
- if (isset($_POST['Registrierung_btn'])) {
- Registrierung();
- }
- // Login hervorrufen
- if (isset($_POST['login_btn'])) {
- login();
- }
- if (isset($_GET['logout'])) {
- session_destroy();
- unset($_SESSION['user']);
- header("location: ../login.php");
- }
- // Registrierung Benutzer
- function Registrierung(){
- global $db, $errors;
- // Erhält alle eingetragenen Information
- $username = e($_POST['username']);
- $email = e($_POST['email']);
- $password_1 = e($_POST['password_1']);
- $password_2 = e($_POST['password_2']);
- // Üaberprufung der benoetigten punkte
- if (empty($username)) {
- array_push($errors, "username wird benoetigt");
- }
- if (empty($email)) {
- array_push($errors, "Email wird benoetigt");
- }
- if (empty($password_1)) {
- array_push($errors, "Password wird benoetigt");
- }
- if ($password_1 != $password_2) {
- array_push($errors, "Die Passwörter stimmen nicht uerberein");
- }
- // Registrierung überpruft ob fehler da sind
- if (count($errors) == 0) {
- $password = md5($password_1);//encrypt password bevor es in die datenbank geht
- if (isset($_POST['user_type'])) {
- $user_type = e($_POST['user_type']);
- $query = "INSERT INTO users (username, email, user_type, password)
- VALUES('$username', '$email', '$user_type', '$password')";
- mysqli_query($db, $query);
- $_SESSION['success'] = "Neuer Benutzer erfolgreich erstellt!!";
- header('location: home.php');
- }else{
- $query = "INSERT INTO users (username, email, user_type, password)
- VALUES('$username', '$email', 'user', '$password')";
- mysqli_query($db, $query);
- // Erhaelt ID des erstellten benutzers
- $logged_in_user_id = mysqli_insert_id($db);
- $_SESSION['user'] = getUserById($logged_in_user_id); // In der Sitzung eingeloggten Benutzer anmelden
- $_SESSION['success'] = "du bist nun eingeloggt";
- header('location: index.php');
- }
- }
- }
- // Zurückkommen der user array von der id
- function getUserById($id){
- global $db;
- $query = "SELECT * FROM users WHERE id=" . $id;
- $result = mysqli_query($db, $query);
- $user = mysqli_fetch_assoc($result);
- return $user;
- }
- // LOGIN USER
- function login(){
- global $db, $username, $errors;
- $username = e($_POST['username']);
- $password = e($_POST['password']);
- // Überpruft ob ueberall was eingetragen ist
- if (empty($username)) {
- array_push($errors, "username wird benoetigt");
- }
- if (empty($password)) {
- array_push($errors, "Password wird benoetigt");
- }
- // Ob keine Fehler da sind
- if (count($errors) == 0) {
- $password = md5($password);
- $query = "SELECT * FROM users WHERE username='$username' AND password='$password' LIMIT 1";
- $results = mysqli_query($db, $query);
- if (mysqli_num_rows($results) == 1) { // Benutzer bereits erhalten
- // kontrolliert ob Benutzer admin oder User ist
- $logged_in_user = mysqli_fetch_assoc($results);
- if ($logged_in_user['user_type'] == 'admin') {
- $_SESSION['user'] = $logged_in_user;
- $_SESSION['success'] = "Du bist nun eingeloggt";
- header('location: admin/home.php');
- }else{
- $_SESSION['user'] = $logged_in_user;
- $_SESSION['success'] = "Du bist nun eingeloggt";
- header('location: index.php');
- }
- }else {
- array_push($errors, "Nicht uerbereinstimmende username/password kombination");
- }
- }
- }
- function isLoggedIn()
- {
- if (isset($_SESSION['user'])) {
- return true;
- }else{
- return false;
- }
- }
- function isAdmin()
- {
- if (isset($_SESSION['user']) && $_SESSION['user']['user_type'] == 'admin' ) {
- return true;
- }else{
- return false;
- }
- }
- function e($val){
- global $db;
- return mysqli_real_escape_string($db, trim($val));
- }
- function display_error() {
- global $errors;
- if (count($errors) > 0){
- echo '<div class="error">';
- foreach ($errors as $error){
- echo $error .'<br>';
- }
- echo '</div>';
- }
- }
Add Comment
Please, Sign In to add comment