getConnection(); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL | E_STRICT); include('../../extra/auth.php'); if (! Auth::check()) { redirectTo('../../public/login'); } $user = Auth::user(); $iduserlogin = $user->present()->id; $nameuser = $user->present()->first_name; $surnameuser = $user->present()->last_name; $emailuser = $user->present()->email; $avatar = $user->present()->avatar; $kindofrole = $user->present()->role_id; // <-- Questo è il ruolo (es. 1=admin, 2=teacher, 3=student, ecc.) // --- INIZIO: Reindirizzamento intelligente per studenti senza profilo --- if (session_status() == PHP_SESSION_NONE) { session_start(); } // Definisci qui l'ID del ruolo STUDENTE (cambialo se è diverso!) define('ROLE_STUDENTE', 2); // Cambia 3 con il ruolo corretto del tuo studente // Escludi alcune pagine dove NON vuoi il redirect (es. login, logout, profile) $current_page = basename($_SERVER['PHP_SELF']); $no_redirect_pages = ['login.php', 'logout.php', 'student_profile.php', 'register.php']; if ( $kindofrole == ROLE_STUDENTE && !in_array($current_page, $no_redirect_pages) && !isset($_SESSION['student_profile_completed']) ) { // Controlla se esiste il record in tabella students $stmt = $db->prepare("SELECT id FROM students WHERE user_id = ? LIMIT 1"); $stmt->execute([$iduserlogin]); $student_exists = $stmt->fetch(); if (!$student_exists) { // Non ha completato il profilo → reindirizza $_SESSION['student_profile_pending'] = true; header("Location: student_profile.php"); exit; } else { // Ha già completato → segna per non controllare più $_SESSION['student_profile_completed'] = true; } } // --- FINE: Reindirizzamento intelligente --- $_SESSION["iduserlogin"] = $iduserlogin; $_SESSION["nameuser"] = $nameuser; $_SESSION["surnameuser"] = $surnameuser; $_SESSION["emailuser"] = $emailuser; $_SESSION["photouser"] = $avatar; $photouser = $_SESSION["photouser"];