Anmeldung läuft

This commit is contained in:
Robert
2024-01-17 15:23:48 +01:00
parent aa936198c8
commit d47f00093a
125 changed files with 1459 additions and 4444 deletions

View File

@@ -3,7 +3,9 @@
namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;
use App\Models\Benutzer;
use RequestData;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Session;
class AnmeldungController extends BaseController
@@ -16,25 +18,22 @@ class AnmeldungController extends BaseController
);
}
public function anmeldung_verifizieren(RequestData $rd){
public function anmeldung_verifizieren(Request $rd){
$data = $rd->getPostData();
if($rd->isMethod("post")){
$data = $rd;}
$email = $data["email"] ?? NULL;
$passwort = $data["passwort"] ?? NULL;
$benutzer = new Benutzer();
$anmeldung = $benutzer.anmelden($email, sha1($passwort));
$anmeldung = $benutzer->anmelden($email, sha1($passwort));
if($anmeldung){
$log = logger('anmeldung', '../storage/logs');
$log->info('Anmeldung erfolgreich!');
Log::info('Anmeldung erfolgreich!');
}
else{
$log = logger('anmeldung', '../storage/logs');
$log->warning('Anmeldung fehlgeschlagen!');
Log::info('Anmeldung fehlgeschlagen!');
}
return view(
@@ -47,13 +46,14 @@ class AnmeldungController extends BaseController
);
}
public function check(RequestData $rd){
public function check(Request $rd){
$data = $rd->getPostData();
$data = $rd;
$email = $data["email"] ?? NULL;
$passwort = $data["passwort"] ?? NULL;
$anmeldung = $data["anmeldung"] ?? NULL;
$email = $data->email ?? NULL;
$passwort = $data->passwort ?? NULL;
$anmeldung = $data->anmeldung ?? NULL;
Session::put("anmeldung", 1);
return view(
'm5_a1.anmeldung',
@@ -72,8 +72,7 @@ class AnmeldungController extends BaseController
session_unset();
session_destroy();
$log = logger('anmeldung', '../storage/logs');
$log->info('Abmeldung erfolgreich!');
Log::info('Abmeldung erfolgreich!');
return view('m5_a1.abmeldung', []);
}

View File

@@ -3,6 +3,8 @@
namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;
use App\Models\Gerichte;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
class MainController extends BaseController
@@ -24,4 +26,5 @@ class MainController extends BaseController
]);
}
}

View File

@@ -6,7 +6,7 @@ use Exception;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;
class Gerichte extends Model

View File

@@ -9,6 +9,8 @@ namespace App\Models;
use Exception;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;
@@ -16,48 +18,34 @@ class Benutzer extends Model
{
use HasFactory;
function anmelden(string $email, string $passwort)
function anmelden(string $email, string $passwort): int
{
$link = connectdb();
$sql = "SELECT * FROM benutzer
WHERE (`email` = '$email')";
$result = $link->query($sql);
$row = $result->fetch_assoc();
$sql = "SELECT * FROM benutzer WHERE (`email` = '$email')";
$result = DB::select($sql);
$row = $result[0];
if ($row['passwort'] == NULL) {
if ($row->passwort == NULL) {
$row = 0;
} elseif ($row['passwort'] == $passwort) {
session_start();
} elseif ($row->passwort == $passwort) {
session(["start"=>1]);
mysqli_begin_transaction($link);
$sql = "UPDATE benutzer
SET letzteanmeldung = current_time, anzahlfehler = 0
WHERE email = '$email'";
$link->query($sql);
DB::update("UPDATE benutzer SET letzteanmeldung = current_time, anzahlfehler = 0 WHERE email = '$email'");
// $sql = "UPDATE benutzer SET anzahlanmeldungen = anzahlanmeldungen + 1 WHERE id = " . $row['id'];
$sql = "CALL incrementAnzahlAnmeldungen(" . ($row['id']) . ")";
$link->query($sql);
DB::statement("CALL incrementAnzahlAnmeldungen(" . ($row->id) . ")");
mysqli_commit($link);
$_SESSION['uid'] = session_id();
$_SESSION['login'] = 1;
$_SESSION['name'] = $row['name'];
$_SESSION['email'] = $row['email'];
session(["uid" => session()->getId()]);
session(["login" => 1]);
session(["name" => $row->name]);
session(["email" => $row->email]);
return 1;
} else {
mysqli_begin_transaction($link);
$sql = "UPDATE benutzer
SET anzahlfehler = anzahlfehler+1, letzterfehler = current_time
WHERE email = '$email'";
$link->query($sql);
DB::update("UPDATE benutzer SET anzahlfehler = anzahlfehler+1, letzterfehler = current_time WHERE email = '$email'");
mysqli_commit($link);
}
return 0;

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +1,10 @@
@extends("m5_a1.layout_anmeldung")
<?php use Illuminate\Support\Facades\Session; ?>
@section("main")
<form action="/anmeldung_verifizieren" method="post">
@method("post")
@csrf <!-- {{ csrf_field() }} -->
<label for="email">E-Mail</label>
<input id="email" name="email" type="email" placeholder="email" required maxlength="100">
@@ -15,9 +16,8 @@
@if(!isset($anmeldung)) Bitte anmelden!
@elseif ($anmeldung == 1)
{{ session_start() }}
Anmeldung erlaubt!
@else Es ist ein Fehler aufgetretten!
@endif
@endsection
@endsection

View File

@@ -23,6 +23,8 @@
@else
<form method="post" id="auto_form" action="/anmeldung_fehler">
@method("post")
@csrf <!-- {{ csrf_field() }} -->
<input type="hidden" name="email" value={{ $email}}>
<input type="hidden" name="passwort" value={{$passwort}}>
<input type="hidden" name="anmeldung" value={{$anmeldung }}>
@@ -47,4 +49,4 @@
<br>
Bitte warten!
@endsection
@endsection

View File

@@ -1,4 +1,5 @@
@extends("layouts.main_layout", ['title' => "E-Mensa"])
<?php use Illuminate\Support\Facades\Session; ?>
@section("header")
<link rel="stylesheet" href="/css/style.css">
@@ -19,11 +20,11 @@
</div>
<div>
@if(($_SESSION['login'] ?? NULL) == 0)
@if(session("start",0)== 0)
<a href="/anmeldung">Anmelden</a>
@else
Angemeldet als:<br>
<div>{{ $_SESSION['name'] }}</div>
<div>{{ session("name")}}</div>
<a href="/abmeldung">Abmelden</a>
@endif
</div>
@@ -55,6 +56,7 @@
@else
<?php
//Daten vom Modell
$result_sql_allergen = $data["result_sql_allergen"];
$verwendete_allergene_code = $data["verwendete_allergene_code"];

View File

@@ -3,6 +3,7 @@
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\MainController;
use App\Http\Controllers\AnmeldungController;
use Illuminate\Http\Request;
/*
|--------------------------------------------------------------------------
| Web Routes
@@ -15,11 +16,11 @@ use App\Http\Controllers\AnmeldungController;
*/
//Main Controller
Route::get('/', [MainController::class, 'index']);
Route::get('/', [MainController::class, 'index' ]);
//Anmeldungs Controller
Route::get('/anmeldung', [AnmeldungController::class, 'start']);
Route::get('/anmeldung_verifizieren', [AnmeldungController::class, 'nmeldung_verifizieren']);
Route::get('/anmeldung_fehler', [AnmeldungController::class, 'check']);
Route::post('/anmeldung_verifizieren', [AnmeldungController::class, 'anmeldung_verifizieren']);
Route::post('/anmeldung_fehler', [AnmeldungController::class, 'check']);
Route::get('/abmeldung', [AnmeldungController::class, 'abmelden']);