DATO UN IP COME RICAVO LA LINGUA ???

salve,

dato un indirizzo ip come posso ricavare la lingua in uso o la nazione dell'utente che sta visitando il mio sito?

inviato 10 anni fa
10anniavanti
X 0 X

per ricavare la lingua, se ne hai la possibilità, al posto dell'ip prova a stampaer l'array $_SERVER

print_r($_SERVER);

ci dev'essere un valore, forse $_SERVER['ACCEPT_LANGUAGE'], però prende la lingua del browser, quindi non da la sicurezza matematica...

Per qaunto riguarda riconoscere il paese dall'ip,avevo trovato tempo fa in rete questa funzione:

http://www.devpro.it/php4_id_25.html

ma alla fine non l'ho usata perchè il lavoro che dovevo fare non la richiedeva +...

Spero ti possa essere d'aiuto...

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

@ 10anniavanti

Non è bene scrivere l'oggetto dei messaggi tutto maiuscolo.  Su internet scrivere in maiuscolo equivale a gridare. :police:

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ciao a tutti,

 come faccio ad aggiungere quello script per la nazione (magari aggiungendo una bandierina a seconda della nazionalità) in un modulo di registrazione?

risposto 10 anni fa
KOWa
KOWa
1
X 0 X

devi scaricarti il file CVS da http://ip-to-country.webhosting.info/, copiare la funzione che trovi qui http://www.devpro.it/code/25.html e richiararmla così:

<?php

echo ip2country (1,'./') . "\n";
echo ip2country (2,'./') . "\n";
echo ip2country (3,'./') . "\n";

function ip2country($type, $where = "csv_folder/") {
   // CSV: http://ip-to-country.directi.com/
   // Author: andr3a [ www.3site.it ] [ andrea@3site.it ]
   // Author: mdsjack [ www.mdsjack.tk/ ] [ mdsjack@iol.it ]
   $ip = split("[.]", $_SERVER["REMOTE_ADDR"]);
   $ip = ($ip[0] * 16777216) + ($ip[1] * 65536) + ($ip[2] * 256) + ($ip[3]);
   $csv = fopen($where."ip-to-country.csv", "r");
   while ($line = fgetcsv($csv, 1024)) {
      list ($from, $to, $code[0], $code[1], $code[2]) = $line;
      if (($from <= $ip) and ($to >= $ip)) {
         fclose($csv);
         $sended = isSet($code[$type-1]) && $code[$type-1]!='' ? $code[$type-1] : "UNK";
         return $sended;
      }
   }
   fclose($csv);
   return "YOU";
}
?>

Il numero 1,2,3 nella chiamata serve ad indicare in che formato ottenere la nazione. Ho supposto che il file CVS fosse nella stessa cartella dello script.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
modificato 10 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda