fixed different login

This commit is contained in:
2026-01-28 20:14:49 +01:00
parent 73589b3b04
commit b55e9f483f
14 changed files with 587 additions and 138 deletions
+28 -6
View File
@@ -13,15 +13,26 @@ $pdo = $dbHandler->getConnection();
| 1) Recupera la scuola (come nel tuo esempio)
|--------------------------------------------------------------------------
*/
$stmt = $pdo->prepare("SELECT id, name FROM schools WHERE owner_id = ? LIMIT 1");
$stmt->execute([$iduserlogin]);
$school = $stmt->fetch(PDO::FETCH_ASSOC);
// 1) Recupera school_id dalla sessione (studente) oppure fallback owner (admin/owner)
$school_id = (int)($_SESSION['school_id'] ?? 0);
if (!$school) {
die("Scuola non trovata.");
if ($school_id <= 0) {
// fallback per owner/admin
$stmt = $pdo->prepare("SELECT id, name FROM schools WHERE owner_id = ? LIMIT 1");
$stmt->execute([(int)$iduserlogin]);
$school = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$school) die("Scuola non trovata.");
$school_id = (int)$school['id'];
} else {
// carica dati scuola
$stmt = $pdo->prepare("SELECT id, name FROM schools WHERE id = ? LIMIT 1");
$stmt->execute([$school_id]);
$school = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$school) die("Scuola non trovata.");
}
$school_id = (int)$school['id'];
/*
|--------------------------------------------------------------------------
@@ -50,6 +61,17 @@ $is_new = !$settings;
$success_message = "";
$error = "";
if (!$settings) {
$pdo->prepare("
INSERT INTO user_settings (school_id, user_id, locale, timezone, created_at, updated_at)
VALUES (?, ?, 'it', 'Europe/Rome', NOW(), NOW())
")->execute([$school_id, (int)$iduserlogin]);
header("Location: user-settings.php");
exit;
}
/*
|--------------------------------------------------------------------------
| 4) Salvataggio POST