Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026

    riconoscere utente straniero

    salve

    mi chiedevo se esistesse una funzione php per riconoscere il paese di provenienza di un dato utente

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    Io consoco geoip ma e un modulo di apache.

  3. #3

  4. #4
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ottimo il link e i suggerimenti

    ma mi chiedevo 2 cose a questo punto

    questa funzione è integrata sui server apache di default o c'è qualche aggiornamento che bisogna fare o roba simile?


    in più ho letto in quel link che si usa:
    Codice PHP:
    geoip_country_name_by_name('www.example.com'); 

    ma se al posto della provenienza di un sito volessi sapere quella dell'utente?

    grazi emille

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Allora per riconoscere la lingua solitamente se procede identificando la linga specifica del browser passata nello user-agent :

    Codice PHP:
    echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";
    echo 
    $_SERVER["HTTP_ACCEPT_LANGUAGE"]; 

    /*
    produce un output simile a :

    Mozilla/5.0 (Windows; U; Windows NT 6.0; it; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)

    it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
    */ 
    Quindi puoi esplodere gli accepted languages e controllare che nello user agent sia presente.
    Senno controlli semplicemente lo user agent te vedi in che lingua e' settato il browser dell'utente.

    Io lo farei con una regexp e degli explode tipo :

    Codice PHP:
    echo "<pre>";
    echo 
    $_SERVER['HTTP_USER_AGENT'] . "\n\n";
    echo 
    $_SERVER["HTTP_ACCEPT_LANGUAGE"]; 
    echo 
    "<hr>";

    $arr = array();
    $ris =  preg_match('/\\((.*)\\) /' $_SERVER['HTTP_USER_AGENT'] , $arr );
    $tks explode";" $arr[1] );

    echo 
    "\nUSER LANG =".$tks[3];

    echo
    "</pre>"
    O comunque una cosa simile e recuperi il codice iso della nazionalita'.
    Ovviamente non ho inserito i vari controlli etc ma quello spetta a te.

  6. #6
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ah quindi la funzione geoip non serve a questo punto?

    io vorrei fare un header()ad una pagina diversa a seconda se il codice iso è italiano o no,
    quindi mi chiedo il codice iso italiano è standard ?

    devo procedere cosi:
    1- recupero codice iso
    2-if ($codice iso= italiano;header(pagina in italiano)
    3- else(header(pagina inglese))

    giusto?

  7. #7
    ti serve un database ip2location o ip2country oppure apri con un socket geoplugin.net e esplodi il risultato, gestendo il timeout in caso qualcosa vada male.

    per ip2country avevo un database e controllavo l'appartenenza di un ip al range del paese, per essere più specifici putroppo il database diventa molto pesante (sui 70 mb).

    ora uso geoplugin e non mi trovo male
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  8. #8
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    cavolo troppo pesante

    ma quindi i codici iso non sono fissi

    se io controllo che il codice sia uguale a quello italiano semplicemente?

  9. #9
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Per te sia importante proprio il paese o solo la lingua? Nel secondo caso sarebbe meglio buttarsi sulle impostazioni del browser perché lo può essere sempre un italiano all'estero o vice-versa. Nell'altro caso potresti usare l'API di MaxMind http://www.maxmind.com/app/geolitecountry

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  10. #10
    se voi lavorare sulla lingua, usi user agent, se vuoi fare geo location nasce tutta una questione
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

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 © 2024 vBulletin Solutions, Inc. All rights reserved.