Ciao a tutti, sono un pivello quindi non giudicatemi troppo, ahhaha (scherzo).
Stavo creando una nuova area riservata per il cliente e come tale volevo realizzare la logica di
Utente loggato, accede alla pagina Es: /my-profile e può visualizzarla
Utente non loggato, accede alla pagina Es: /my-profile, ma viene reindirizzato alla pagina /login.
Snippet PHP:
// Inizia la sessione per accedere alle variabili di sessione
session_start();
// Ottieni l'URL della pagina richiesta
$request_url = $_SERVER['REQUEST_URI'];
// Le pagine protette
$protected_pages = [
'/account/',
'/my-elisir-dargan/',
'/my-profile/',
'/orders/',
'/wishlist-2/',
'/newsletter/',
'/affiliazione/'
];
// Controlla se l'utente è autenticato (cioè se l'ID utente è presente nella sessione)
if (!isset($_SESSION['user_id']) && in_array($request_url, $protected_pages)) {
// Se l'utente non è loggato e sta cercando di accedere a una pagina protetta, reindirizzalo alla pagina di login
header("Location: https://www.elisirdargan.com/login/");
exit(); // Termina lo script per evitare che venga eseguito il resto del codice
}
Il comportamento reale di questo snippet è:
Utente anche se loggato, accede alla pagina my-profile, ma viene reindirizzato alla pagina /login. (sbagliato)
Utente non loggato, accede alla pagina my-profile e viene correttamente reindirizzato alla pagina (giusto)
Qualcuno sa perchè?