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

    Reindirizzare Al Referer

    Sembra una discussione già più volte presentata ma non è così ho questo problema, ho una pagina in cui taluni documenti sono visualizzabili solo agli utenti registrati al sito, pertanto qualora non siano registrati o non abbiano effettuato il login vengono rimandati alla pagina di login, nella stessa pagina effettuo il controllo user è password:

    1) <form action="<?php $self ?>" method="post" enctype="application/x-www-form-urlencoded" id="login">

    il problema è il seguente sempre nella stessa pagina imposto una variabile:

    2) if ($refer=="" || empty($refer) || !isset($refer)) $refer = $_SERVER['HTTP_REFERER'];

    che qualora le credenziali di login siano corrette deve rimandare alla pagina chiamante, header("Location: $refer") sennonchè la pagina chiamante diventa sempre login.php, a causa presuppongo del punto 1 cioè del fatto che per la convalida richiamo sempre login.php quindi il referer diviene login.php.

    Come posso fare per impostare la variabile $refer solo una volta?

    Grazie
    Visita www.castelsardo.net
    cittadina del nord sardegna

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    L'unica soluzione è usare Javascript:

    Codice PHP:
    print("<script>history.go(-2)</script>"); 

  3. #3
    Volevo proprio evitare di ricorrere a JavaScript, ma perchè sebbene io effettui un controllo sulla variabile $refer:

    if ($refer=="" || empty($refer) || !isset($refer)) $refer = $_SERVER['HTTP_REFERER'];

    la stessa viene in ogni caso reimpostata all'ultima pagina chiamante, sicuramente sono :faggiano: io la devo impostare come variabile globale?

    Ciao grazie
    Visita www.castelsardo.net
    cittadina del nord sardegna

  4. #4

    .............

    Ciao.
    Prima di tutto farei un controllo del genere:
    var_dump($_SERVER['HTTP_REFERER']);
    e poi prima fai il controllo su $refer e poi assegni
    il valore
    semmai empty($_SERVER['HTTP_REFERER']) questa
    è una ripetizione $refer=="" e ancora vista inaffidabilità
    di $_SERVER['HTTP_REFERER'] ha poco senso una cosa
    del genere isset($_SERVER['HTTP_REFERER']) per testare
    se un utente hai i privilegi richiesti.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Mi hai frainteso non uso $refer per testare se l'utente ha i privileggi ma per reindirizzarlo ad una pagina, il concetto è questo:

    [pagina protetta] hai le credenziali di accesso?

    SI -> allora visualizzo il contenuto.

    1) NO -> rimando alla pagina di login;
    2) effettuo il login (se tutto ok)
    3) se login corretto rimando alla pagina protetta (pagina chiamante).

    Il perche ho messo tutti quei controlli è perche per l'appunto non riesco a impostare la variabile refer una sola volta solo se vuota.

    e poi prima fai il controllo su $refer e poi assegni...
    Ma $_SERVER['HTTP_REFERER'] naturale che non sià vuota un controllo sulla stessa sarebbe inutile?

    Ciao grazie
    Visita www.castelsardo.net
    cittadina del nord sardegna

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.