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

    ottenere l'esatto URL del browser

    sembra facile ma non e'.
    mi piacerebbe avere a disposizione l'URL richiesto dall'utente così come compare nel browser!

    le ho provate tutte ma sembra che non esistano variabili o funzioni appositi per ottenere il mio obiettivo.

    forse il browser ha diritto a riscrivere l'url a sua discrezione e quindi non e' un dato attendibile? puo' essere? no, immagino.

    ma allora perche' e' possibile arrivare a qualsivoglia elemento della richiesta dell'utente (get_headers, parse_url, $_SERVER, ...) e non all'url così com'e' stato mandato?
    si vivono molte vite e si muore una volta sola

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    $_SERVER['HTTP_REFERER']

  3. #3
    riguardo HTTP_REFERER il manuale di php dice:

    "The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted."

    e infatti non mi restituisce nulla.

    alla fine ho creato una classe le cui istanze contengono tutte le informazioni relative alla richiesta di un utente. ecco qua:


    Codice PHP:
    class request
    {
        public 
    $protocol;        
        public 
    $domain;
        public 
    $path;
        public 
    $resource;
        public 
    $query;

        public 
    $real_req;        // richiesta realmente effettuata dalla barra indirizzi
        
    public $explicit_req;    // richiesta riscritta con script esplicitato

        
    public $get;
        public 
    $post;
        public 
    $files;

        public function 
    __construct()
        {    
            
    $xprt explode'/'$_SERVER['SERVER_PROTOCOL'] );
            
    $xpuq parse_url$_SERVER['REQUEST_URI'], PHP_URL_QUERY );
            
    $xscr explode'/'$_SERVER['SCRIPT_NAME'] );

            
    $this->protocol        strtolower$xprt[0] );
            
    $this->domain        $_SERVER['SERVER_NAME'];
            
    $this->query        = ( $xpuq !== NULL )? $xpuq '';
            
    $this->resource        array_pop$xscr );
            
    $this->path            implode'/'$xscr ).'/';

            
    $this->real_req        $this->protocol.'://'.$this->domain.$_SERVER['REQUEST_URI'];
            
    $this->explicit_req    $this->protocol.'://'.$this->domain.$this->path.$this->resource.( ( $this->query === '' )? '' '?'.$this->query );

            
    $this->get             &= $_GET;
            
    $this->post         &= $_POST;
            
    $this->files        &= $_FILES;
        }

    ovviamente basta una sola istanza per ogni esecuzione del programma, percui si puo' utilizzare il pattern singleton
    si vivono molte vite e si muore una volta sola

  4. #4
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    boh non capisco il tuo fine ultimo

  5. #5
    il mio fine e' sapere tutto relativamente alla richiesta effettuata dall'utente | altro sito | il tuo sito stesso.
    si vivono molte vite e si muore una volta sola

  6. #6
    .. anche io sto cercando di capire come fare a recuperare questo URL in maniera assoluta.

    Cioè.. se recupero l'url di una pagina, lo metto in una variabile ed a seconda dei casi potrei decidere di reindirizzarvi l'utente.. per esempio nel caso in cui voglia fargli rivalidare una form che non è corretta.. o ancora rimandarlo al punto in cui il tutto è iniziato.. tanto perchè non si chieda: "..dove ero rimasto?".

    Io sono gnubbo.. e questa semplice informazione non la riesco a registrare.


    ..un'altra cosa: perchè se nel campo di ricerca del forum di html.it metto "url" mi fa salvare un file "search.php"???

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.