Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Perchè questo php, non funziona come dovrebbe?

    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è?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Controlla cosa contiene $_SERVER['REQUEST_URI'], l'URL contenuta potrebbe non essere come le stringhe che hai nell'array.

  3. #3
    Devo inserire questo echo '<script>console.log("REQUEST_URI: ' . $_SERVER['REQUEST_URI'] . '");</script>'; Nello stesso snippet?
    Se cosi fosse, in console (dopo il login) non c'è nulla relativo a REQUEST_URI:

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    echo 'REQUEST_URI: ' . $_SERVER['REQUEST_URI'];

    da mettere dopo session_start(), all'inizio della pagina vedi se scrive qualcosa.

  5. #5
    Grazie, alla fine ieri avevo provato inserendolo da tutte le parti e continuava a non darmi niente.

    Per risolvere il problema ho installato un plugin per realizzare questa logica

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.