Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    come ricavare COUNTRY e FLAG da un IP?

    Come da titolo, vorrei ricavare dall'ip dell'utente il paese e se possibile far visualizzare anche una bandiera.
    Sapete come fare?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    non c'è bisogno che ti per sapere di che paese è il visitatore, basta che vedi tramite $_SERVER["HTTP_USER_AGENT"] e saprai di che paese è.Ovviamente questa funzione visualizza anche il tipo di browser ma anche la lingua adottata, quindi tramite un substr recuperi solo il dato che ti serve.
    Codice PHP:
    <?php  
    //Rilevo la lingua
    $rilevazione $_SERVER["HTTP_ACCEPT_LANGUAGE"];  
    $lingua substr($lingua,0,2); //Isolo la posizione da 0 a 2   
    echo $lingua;  
    ?>

  3. #3
    bè per le flag puoi fare un array al quale associare il dato recuperato e associare un folder con le thumbs delle bandiere... Potresti salvare su un tabella DB ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    Rettifico, scusate per l'errore non usare HTTP_USER_AGENT quello di visualizza il browser, usa invece HTTP_ACCEPT_LANGUAGE.


  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    FUNZIONA!! GRAZIE!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Mi sono appena accorto che invece non sempre funziona, ad esempio se da questa variabile $_SERVER["HTTP_USER_AGENT"]; esce:

    Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

    oppure

    facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

    (quindi presumo che vengano da google o facebook)

    da $_SERVER["HTTP_ACCEPT_LANGUAGE"]; non esce niente

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323

    A dire il vero mi suona nuova la 2° che hai detto "
    facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
    "
    Comunque puoi dire meglio come la stai usando, stai usando lo script che ho scritto prima ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    sì sto usando il tuo script, ma anche se non avessi usato il metodo con substr sarebbe stato uguale, perchè il problema non viene dallo script, ma è che proprio alcune volte non esce niente da $_SERVER["HTTP_ACCEPT_LANGUAGE"];

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    E se per esempio passa uno che si trova in Italia, ma ha il browser impostato in un'altra lingua?
    Se passa un inglese avrà presumibilmente il browser impostato per la lingua inglese, ma anche in altre nazioni la lingua ufficiale è l'inglese (ad esempio negli USA, sempre EN è l'impostazione della lingua), come fai a distinguere la provenienza?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    perchè per gli americani inizia con: en-US
    mentre per gli inglesi inizia con: en-EN

    per questo non ho fatto così:

    $lingua = substr($lingua,0,2);

    ma ho fatto così:

    $lingua = substr($lingua,0,5);

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.