Webbserverprogrammering 1

Show sourcecode

The following files exists in this folder. Click to view.

webbserverprogrammering/submissions/projekt-matkort-handler/

.github/
add_logs.php
admin/
api/
card_balance.php
classes/
config/
food_logs.php
forgot_password.php
includes/
index.php
insert_restaurants.php
install.php
login.php
logout.php
public/
register.php
reset_password.php
verify.php

add_logs.php

67 lines UTF-8 Windows (CRLF)
<?php
// Script för att lägga till testloggar för alla restauranger
include_once './config/database.php';
include_once 
'./classes/FoodLog.php';
include_once 
'./classes/CardBalance.php';

try {
    
// Hitta användarens ID utifrån e-postadress
    
$email 'firnab23@varmdogymnasium.se';
    
$stmt $pdo->prepare("SELECT id FROM students WHERE email = ?");
    
$stmt->execute([$email]);
    
$user $stmt->fetch(PDO::FETCH_ASSOC);

    if (!
$user) {
        die(
"Användaren '" htmlspecialchars($email) . "' hittades inte i databasen.");
    }
    
$user_id $user['id'];

    
// Hämta alla restauranger från databasen
    
$stmt $pdo->query("SELECT id, restaurant_name FROM restaurants");
    
$restaurants $stmt->fetchAll(PDO::FETCH_ASSOC);

    if (empty(
$restaurants)) {
        die(
"Inga restauranger hittades i databasen. Kan inte lägga till loggar.");
    }

    
$foodLogModel = new FoodLogs($pdo);
    
$logs_added 0;

    
// För varje restaurang, lägg till 2 stycken testloggar
    
foreach ($restaurants as $rest) {
        for (
$i 0$i 2$i++) {
            
$money_spent rand(14); // Väldigt lågt pris, max 4 kr för att inte tömma saldot för snabbt
            
$healthy rand(15); // Rating 1-5
            
$happy rand(13); // Rating 1-3
            
$comment "Testlogg - Mycket gott (#" . ($i+1) . ")";
            
            
// Generera ett slumpmässigt loggdatum spritt över det senaste året
            
$days_ago rand(0100);
            
$log_date date('Y-m-d H:i:s'strtotime("-$days_ago days"));

            
// Skapa matlogg (Detta drar också pengar från saldot via FoodLogs classen)
            
$foodLogModel->create(
                
$user_id,
                
$rest['id'],
                
$money_spent,
                
$healthy,
                
$happy,
                
$comment,
                
$log_date
            
);
            
$logs_added++;
        }
    }

    echo 
"<div style='font-family: sans-serif; padding: 20px;'>";
    echo 
"<h1 style='color: green;'>Klart!</h1>";
    echo 
"<p>Lade framgångsrikt till <strong>$logs_added</strong> test-loggar för användaren <em>$email</em> över " count($restaurants) . " restauranger.</p>";
    echo 
"<p>Kostnaden drogs medvetet ner till 1-4 kr per besök för att ditt saldo ska räcka till.</p>";
    echo 
"<a href='./index.php'>Gå tillbaka till startsidan</a>";
    echo 
"</div>";

} catch (
Exception $e) {
    echo 
"<h1 style='color: red;'>Ett fel uppstod</h1>";
    echo 
"<p>" htmlspecialchars($e->getMessage()) . "</p>";
}
?>