Webseite ohne Anmeldung läuft auf laravel
This commit is contained in:
83
M6/emensamobile/app/Models/Gerichte.php
Normal file
83
M6/emensamobile/app/Models/Gerichte.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Exception;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
|
||||
|
||||
class Gerichte extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
|
||||
|
||||
function db_gericht_select_karte()
|
||||
{
|
||||
try {
|
||||
|
||||
$sql_gerichte = "SELECT * FROM gericht ORDER BY RAND() LIMIT 5";
|
||||
$result_sql_gerichte = DB::select($sql_gerichte);
|
||||
$result_sql_gerichte1 = DB::select($sql_gerichte);
|
||||
|
||||
echo var_dump($result_sql_gerichte);
|
||||
|
||||
$verwendete_allergene_code = [];
|
||||
$verwendete_allergene_string = "";
|
||||
|
||||
|
||||
foreach ($result_sql_gerichte as $row_gerichte) {
|
||||
|
||||
// Abfrage der vorhandenen Allergene im aktuellen Gericht
|
||||
|
||||
$sql_gericht_hat_allergene = "SELECT * FROM gericht_hat_allergen WHERE gericht_id=" . $row_gerichte->id;
|
||||
$result_sql_gericht_hat_allergene = DB::select($sql_gericht_hat_allergene);
|
||||
$allergene = "";
|
||||
foreach ($result_sql_gericht_hat_allergene as $row_allergene) {
|
||||
$allergene .= $row_allergene->code . ", ";
|
||||
|
||||
$drin = 0;
|
||||
foreach ($verwendete_allergene_code as $verwendet){
|
||||
if ($verwendet == $row_allergene->code){
|
||||
$drin =1;
|
||||
}
|
||||
}
|
||||
|
||||
if ($drin == 0) {
|
||||
$verwendete_allergene_code[] = $row_allergene->code;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
$sql_allergen = "SELECT code, name FROM allergen";
|
||||
$result_sql_allergen = DB::select($sql_allergen);
|
||||
|
||||
|
||||
|
||||
$data = [
|
||||
"allergene" => $verwendete_allergene_string,
|
||||
"result_sql_allergen" => $result_sql_allergen,
|
||||
"verwendete_allergene_code" => $verwendete_allergene_code,
|
||||
"result_sql_gerichte" => $result_sql_gerichte1,
|
||||
"allergene1" => $allergene
|
||||
];
|
||||
|
||||
|
||||
return $data;
|
||||
} catch (Exception $ex) {
|
||||
$data = array(
|
||||
'id' => '-1',
|
||||
'error' => true,
|
||||
'name' => 'Datenbankfehler ' . $ex->getCode(),
|
||||
'beschreibung' => $ex->getMessage());
|
||||
return $data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
45
M6/emensamobile/app/Models/User.php
Normal file
45
M6/emensamobile/app/Models/User.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
// use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Laravel\Sanctum\HasApiTokens;
|
||||
|
||||
class User extends Authenticatable
|
||||
{
|
||||
use HasApiTokens, HasFactory, Notifiable;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'email',
|
||||
'password',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be hidden for serialization.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $hidden = [
|
||||
'password',
|
||||
'remember_token',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be cast.
|
||||
*
|
||||
* @var array<string, string>
|
||||
*/
|
||||
protected $casts = [
|
||||
'email_verified_at' => 'datetime',
|
||||
'password' => 'hashed',
|
||||
];
|
||||
}
|
||||
65
M6/emensamobile/app/Models/benutzer.php
Normal file
65
M6/emensamobile/app/Models/benutzer.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* Diese Datei enthält alle SQL Statements für die Tabelle "benutzer"
|
||||
*/
|
||||
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Exception;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
|
||||
|
||||
class Benutzer extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
function anmelden(string $email, string $passwort)
|
||||
{
|
||||
$link = connectdb();
|
||||
|
||||
$sql = "SELECT * FROM benutzer
|
||||
WHERE (`email` = '$email')";
|
||||
$result = $link->query($sql);
|
||||
$row = $result->fetch_assoc();
|
||||
|
||||
if ($row['passwort'] == NULL) {
|
||||
$row = 0;
|
||||
} elseif ($row['passwort'] == $passwort) {
|
||||
session_start();
|
||||
|
||||
mysqli_begin_transaction($link);
|
||||
$sql = "UPDATE benutzer
|
||||
SET letzteanmeldung = current_time, anzahlfehler = 0
|
||||
WHERE email = '$email'";
|
||||
$link->query($sql);
|
||||
|
||||
|
||||
// $sql = "UPDATE benutzer SET anzahlanmeldungen = anzahlanmeldungen + 1 WHERE id = " . $row['id'];
|
||||
$sql = "CALL incrementAnzahlAnmeldungen(" . ($row['id']) . ")";
|
||||
$link->query($sql);
|
||||
|
||||
mysqli_commit($link);
|
||||
|
||||
$_SESSION['uid'] = session_id();
|
||||
$_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);
|
||||
|
||||
mysqli_commit($link);
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user