implemented class method for login, register, update, delete and implemented readDatabase functionality to game.js. Write funtionality is in preogress

This commit is contained in:
Patryk Hegenberg 2023-01-10 22:51:40 +01:00
parent fbb52f76c0
commit 03e5591e0a
13 changed files with 145 additions and 83 deletions

View file

@ -6,7 +6,7 @@ $config = require('config.php');
$db = new Database($config['database'], $username, $password);
session_start();
$db->query("DELETE FROM user WHERE username = :user", ["user" => $_SESSION['username']]);
$db->delete($_SESSION['username']);
session_destroy();
header("Location: /");
exit;

View file

@ -1,3 +1,13 @@
<?php
$heading = "Game";
require "views/game.view.php";
$heading = "Game";
$username = 'MatheApp';
$password = 'password';
$config = require('config.php');
$db = new Database($config['database'], $username, $password);
session_start();
if(!isset($_SESSION["username"])){
header("Location: /");
exit;
}
$stats = $db->getPlayerStats($_SESSION['username']);
require "views/game.view.php";

View file

@ -6,26 +6,7 @@ $config = require('config.php');
$db = new Database($config['database'], $username, $password);
if (isset($_POST["submit"])) {
$stmt = $db->query("SELECT * FROM user WHERE username = :user", ['user' => $_POST["username"]])->get();
$count = sizeof($stmt);
if ($count == 1) {
$stmt = $stmt[0];;
if (password_verify($_POST['password'], $stmt["password"])) {
session_start();
$_SESSION["username"] = $stmt['username'];
$_SESSION["level"] = $stmt['level'];
$_SESSION["xp"] = $stmt['xp'];
$_SESSION["coins"] = $stmt['coins'];
$_SESSION["lesson_count"] = $stmt['lesson_count'];
header("Location: /profile");
} else {
echo "Anmeldung fehlgeschlagen!";
}
} else {
echo "Anmeldung fehlgeschlagen!";
}
$db->login([$_POST["username"], $_POST["password"]]);
}
require "views/login.view.php";

View file

@ -1,5 +1,9 @@
<?php
$heading = "profile";
$username = "MatheApp";
$password = "password";
$config = require('config.php');
$db = new Database($config['database'], $username, $password);
session_start();
if(!isset($_SESSION["username"])){
@ -7,4 +11,5 @@ if(!isset($_SESSION["username"])){
exit;
}
$stats = $db->getPlayerStats($_SESSION['username']);
require "views/profile.view.php";

View file

@ -6,36 +6,8 @@
$config = require('config.php');
$db = new Database($config['database'], $username, $password);
if (isset($_POST["submit"])) {
$stmt = $db->query("SELECT * FROM user WHERE username = :user", ['user' => $_POST['Username']])->get();
$count = sizeof($stmt);
if($count == 0 && Validator::string($_POST['Username'], 1, 255)){
$checkEmail = $db->query("SELECT * FROM user WHERE email = :email", ['email' => $_POST['Email-Adresse']])->find();
if(!$checkEmail && Validator::string($_POST['Email-Adresse'], 1, 255)) {
if($_POST["Passwort"] == $_POST["pw2"] && Validator::string($_POST['Passwort'], 8, 255)) {
//Username ist frei
//User anlegen
$hash = password_hash($_POST["Passwort"], PASSWORD_BCRYPT);
$db->query("INSERT INTO user (username, vorname, nachname, email, password, lesson_count, level, xp, coins) VALUES (
:username, :vorname, :nachname, :email, :password, :lesson_count, :level, :xp, :coins )", [
'username' => $_POST['Username'],
'vorname' => $_POST['Vorname'],
'nachname' => $_POST['Nachname'],
'email' => $_POST['Email-Adresse'],
'password' => $hash,
'lesson_count' => 0,
'level' => 1,
'xp' => 0,
'coins' => 0
]);
header("Location: /login");
} else {
echo "Die Passwörter stimmen nicht überein";
}
} else {
echo "Der Username ist bereits vergeben";
}
}
if (isset($_POST["submit"])) {
$db->register($_POST);
}
require "views/register.view.php";

View file

@ -0,0 +1,8 @@
<?php
$username = 'MatheApp';
$password = 'password';
$config = require('config.php');
$db = new Database($config['database'], $username, $password);
$data = json_decode(file_get_contents("php://input"), true);
dd($data);
$db->update($data);