• User

    Consiglio su: $_SERVER['HTTP_REQUEST'] e $_SERVER['REQUEST_URI'] .

    Buongiorno a tutti!

    Apro questo thread perchè mi piacerebbe ricevere pareri e consigli da voi.

    Sto lavorando su una "final landing page"...ovvero una pagina .php che verrà poi visualizzata SOLO ed ESLUSIVAMENTE alla fine di una futura operazione svolta dall'utente.

    L'obiettivo è questo:

    • Evitare l'apertura di questa pagina direttamente, digitando l'url nel browser che porta ad essa.
    • Evitare l'apertura di questa pagina se l'utente NON proviene dall'UNICA pagina da cui si potrebbe accedere (ad esempio, la pagina che conferma il pagamento..e poi reindirizza a questa).

    La soluzione adottata è la seguente:

    Pagina "final landing page"

    
    <?php 
    
    # Il codice seguente, dati gli "header", va posto all'inizio della pagina .php .
    
    if ($_SERVER['REQUEST_URI'] == "--indirizzo digitato direttamente nel browser--") { 
    
        header("Location: miosito.it/page/index.php"); # Non ho messo "www" di proposito
    
    } 
    
    # L'istruzione sottostante genererà un errore Notice. Ho rimosso per ora la @ . 
    if ($_SERVER['HTTP_REFERER'] != "---indirizzo diverso dall'unica pagina da cui si può provenire---") { 
    
        header("Location: miosito.it/page/index.php");  # Non ho messo "www" di proposito
    
    } 
    ?>
    
    

    Quindi, come potete vedere, sia nel caso l'URL (della "final landing page") venga digitato direttamente nella barra del browser, sia se l'utente NON provenga dall'unica pagina che possa visualizzare poi questa "final landing page", esso verrà reindirizzato nella homepage del sito (oppure in un'altra pagina..).

    Secondo voi, è una buona soluzione per prevenire l'apertura di questa pagina finale?

    (La quale dovrà essere visualizzata, ripeto, solo una volta che l'utente avrà svolto le operazioni..di acquisto, bla, bla..)

    Grazie a tutti.
    :ciauz:


  • ModSenior

    Ciao wartpro,
    $_SERVER['REQUEST_URI'] contiene l'indirizzo corrente, per cui sarà sempre l'indirizzo della pagina, non mi sembra sia ciò che volevi fare tu.
    Dopo l'ultilizzo della funzione header per effettuare un redirect è bene terminare l'esecuzione dello script utilizzando la funzione die.


  • User

    Buongiorno Theda e grazie per la risposta.

    Si, effettivamente mi ero dimenticato di porre un exit() o die() dopo la funzione header() .

    ..ora ho corretto questa cosa 🙂

    Ad ogni modo, per ora ho impostato un cookie apposito che si instaura nel pc dell'utente nel momento in cui visita (o meglio, viene reindirizzato alla fine di tutto un procedimento) la pagina in questione.

    ..ed è solo un metodo provvisorio. Dovrò perfezionarlo.

    ..tanto è una landing-page finale, statica. Con sola grafica. Niente di più.

    Grazie per la risposta e buona giornata!