Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    249

    sito dinamico in base a... dove mi connetto

    una domanda:
    spesso mi capita di vedere siti dove ad esempio, se mi connetto da casa mia a milano mi mostrano in home proposte di ristoranti di milano, se sono a casa di un amico di monza vedo i ristoranti di monza.
    oggi per caso ho aperto un sito di annunci di lavoro, nel form di registrazione ho visto la selct regione già sull'option lombardia, immagino se fossi a roma la vdrei su lazio...
    la domanda è: indirizzo ip?
    qualcuno sa suggerirmi che strada percorrere per studiare questo.. mi interessa per un mio sito


    ho visto in php la variabile $_server... è la strada giusta?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    142
    io lo ho appena fatto per il mio ^^
    quello che devi fare è usare un servizio di geolocalizzazione ed estrarre la regione
    ( questi servizi sopratutto se gratuiti non sono mai affidabili al 100% ad esempio se mi connetto tramite il wimax mi risulta abruzzo anziché Lombardia )

    cmq io uso un servizio chiamato utrace.de


    Codice PHP:
    <?Php //trovacomune
     //restituisce una stringa con all'interno il comune di provenienza dell'utente
     //connesso in base al suo ip 
    function trovacomune(){ 
    //trovo il tuo comune 
    error_reporting(0);
     
    $myip=$_SERVER['REMOTE_ADDR']; 
    if(
    $myip!="127.0.0.1"){
     
    $dir1="http://xml.utrace.de/?query=";
     
    $dir2=$myip
    $dir3=$dir1.$dir2
    $apifile file($dir3); 

    //a questo punto $apifile è la risposta xml del webserver, devo solo trovare nel testo ciò 
    // che mi serve e lo faccio con str_replace e trim

    $region=$apifile[7]; //la risposa è nella 7ma riga
    $region=str_replace("<region>"""$region); $region=str_replace("</region>"""$region);
    $region=trim($region); }
    else{ 
    $region="gazzo veronese"; } 
    return 
    $region; }
    ?>
    la funzione trovacomune quando chiamata prende il tuo ip, esegue un collegamento al webserver di geolocalizzazione e restituisce la region dal file xml che gli viene passato.
    l'if che ho inserito era solo per non avere stupidi errori quando testo il tutto in locale e quindi non posso contattare il web server.

    Il web server che ti ho passato è gratuito fino a 100 query al gg poi bisogna prendere la licenza commerciale.
    purtroppo la region che fornisce è un comune solitamente quindi ti consiglio di far passare poi il dato in un db che trasforna il comune in una regione ( ne ho costruito uno apposta con i file csv che scarichi dal sito dell'istat ) non è troppo difficile.

    PS: il tuo server deve essere abilitato al traffico server vs server
    ( servizi gratuiti come altervista non lo sono quindi controlla )

    spero ti sia utile

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    249
    ok..grazie.
    inizio a studiare

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.