Sa presupunem ca realizezi un site in mai multe limbi si, atunci cand un vizitator soseste pe siteul tau, doresti sa ii afisezi informatia in functie de tara din care provine. Daca e din Romania, in romana, daca e din SUA, in engleza, daca e din Franta, in franeza, etc…
Nu e complicat insa ai nevoie de urmatorul script car, teoretic, ar trebuie sa functioneze pe orice site:
$conectare = mysql_connect(‘servar_mysql’, ‘utilizator’, ‘parola’);
if (!$conectare)
{
echo ‘Eroare.Conectarea la baza de date nu a putut fi realizatata’;
exit;
}
//citesc ip-ul vizitatorului si il convertesc intr-un numar
$ip=$_SERVER[‘REMOTE_ADDR’];
$ipzip = Dot2LongIP($ip);
$ro=FALSE;
//verific ip-ul vizitatorului sa vad daca e din Romania
$result_ip = mysql_query(„SELECT * FROM ip”);
while ($row = mysql_fetch_row($result_ip))
{
$ip1 = $row[‘1’];
$ip2 = $row[‘2’];
if ( ($ipzip>=$ip1)&&($ipzip<=$ip2) ) {$ro=TRUE;} // l-am prins, e din Romania
else {$ro=FALSE;} // deci nu e din Romania, norocul lui
}
if ($ro==true)
{
// daca e din Romania il trimit pe varianta siteului in romana
Header("Location: http://www.siteultau.ro/index-ro.php");
}
else
{
// daca nu e din Romania il trimit pe varianta siteului in engleza
Header("Location: http://www.siteultau.ro/index-en.php");
}
function Dot2LongIP ($IPaddr)
{
if ($IPaddr == "")
{
return 0;
}
else
{
$ips = split ("\.", "$IPaddr");
return ($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256);
}
}
Momentan nu functioneaza decat pentru Romania, pentru care va afisa pagina in romana vs Restul lumii, pentru care va afisa pagina in engleza. Cu mici modificari se pot adauga mult mai multe Tari/limbi de afisare.
Si, bineinteles ca e neutilizabil fara baza de date ce contine ip-urile romanesti. Download.
Din experiența mea, implementarea unui script pentru afișarea conținutului unui site în funcție de țara utilizatorului poate aduce beneficii semnificative pentru experiența utilizatorului, dar și unele provocări tehnice. Am constatat că, deși scripturile care determină locația vizitatorului pe baza adresei IP sunt destul de eficiente, ele pot fi afectate de utilizarea unui VPN sau de limitările bazelor de date IP. Totuși, avantajul de a personaliza conținutul în limba nativă a utilizatorului este substanțial, îmbunătățind angajamentul și satisfacția acestuia. Este important să investești timp în actualizarea și menținerea bazei de date de locații IP, asigurând astfel o detecție cât mai precisă și relevantă.