Newsgroup: it.lavoro.professioni.webmaster
Titolo: come testare redirect

Salve!
come posso cambiare la lingua del browser (IE) per testare codice
di redirect in base alla lingua del browser ?
grazie anticipatamente.

 di redirect in base alla lingua del browser ?
Strumenti -> Opzioni Internet ... -> Generale -> Lingue ...
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 di redirect in base alla lingua del browser ?
A proposito,
A me interesserebbe fare una cosa del genere,
Ma basta mettere ad esempio 
index.htm.it
 e cosě viene visualizzata su un 
browser italiano giusto?
E index.htm.en cosě viene visualizzata su un browser inglese?
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
NUOVISSIMO SITO!!! The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS 


Io non seguivo il newsgroup prima del discorso wmg, ma qui c'č gente fuori 
di testa
Bisognerebbe cambiare il nome da it.lavoro.professioni.webmaster a 
it.passatempo.wannabe.webmaster
Edoardo 

 fuori di testa
IO SAREI FUORI DI TESTA?
MA VAI A TROLLARE ALTROVE !


 Bye,
Scusa, ma non ti rendi conto di ciň che hai scritto? Ti sembra plausibile da 
uno che dovrebbe essere un webmaster?
A parte che se metti una pagina chiamata index.htm.en in un server questo te 
la scarica come file, poi come stradiamine capisce un webserver quale pagina 
mostrare se non glielo dici tu nel codice?
Edoardo 

 plausibile da uno che dovrebbe essere un webmaster?
Guarda,
Sara una cazzata, ma io ho visto che quando installi apache praticamente 
stanno le pagine cosě nominate...
Perciň pensavo che si facesse cosě.
Io non ho mai usato il redirect in base alla lingua, e per questo chiedevo 
informazioni.


 informazioni.
Se usi php ti passo io il codice necessario
Edoardo 

 Se usi php ti passo io il codice necessario
Si uso PHP.


Ci sono diversi modi per localizzare una pagina.
Il più logico è quello di creare tante pagine per quante sono le lingue, 
quindi un index_it.htm, inde_en.htm etc
Capisci però che per un sito con molte pagine questo diventa improbabile, 
allora si ricorre a php
1) inclusione del file
Tu prendi il codice della tua pagina index.php sostituisci il testo 
"Benvenuto visitatore" con la variabile $mtxt_benvenuto
Poi metti sul server un file chiamato lingua.it.php e al suo interno 
dichiari la variabile $mtxt_benvenuto = "Benvenuto visitatore", un file 
lingua.uk.php con dentro $mtxt_benvenuto = "Welcome scumbag";
Tramite uno script individui la lingua dell'utente, nel mio caso se è 
italiano it, se non è italiano uk ed includi il relativo file
2) database
per poter gestire meglio le modifiche puoi mettere le variabili in database 
e, in base alla lingua, fai una query per la versione it o uk della 
variabile
, ho ancora il sito down grazie alla superficialità di Easynet quindi in 
questo momento non posso postare il codice che uso, ma una versione recente:
<?
if(!isset($_COOKIE['lingua']) && isset($HTTP_SERVER_VARS['HTTP_REFERER']) && 
eregi("(
google.it
|
virgilio.it
|
arianna.it
)", 
$HTTP_SERVER_VARS[HTTP_REFERER]))
 //questo perchè google mi indicizza molte pagine uk, ma la mia clientela è 
quasi sempre italiana, quindi forzo il sistema
 {
  $lingua = "it";
 }
elseif (isset($_GET['lingua']) && ($_GET['lingua'] == 'it' || 
$_GET['lingua'] == 'uk'))
//cambio della lingua tramite GET
 {
  $lingua = $_GET["lingua"];
 }
elseif  (isset($_COOKIE['lingua'])  && ($_COOKIE['lingua'] == 'it' || 
$_COOKIE['lingua'] == 'uk'))
//se non c'è il GET vedo se in precedenza è stato fissato un cookie
 {
  $lingua = $_COOKIE['lingua'];
 }
elseif ($_SERVER['HTTP_ACCEPT_LANGUAGE'] == 'it')
//se non c'è cookie né get non posso sapere che lingua parla il fetente, 
allora controllo le impostazioni del browser
 {
  $lingua = "it";
 }
else
 {
//se il browser non è impostato su italiano non do per scontato che sia 
straniero, faccio un controllo sul suo IP
$crdr='/home/virtual/
alloggio.it/htdocs/ip2c
';
function set_path($cc){return "$cc";}
$default="it";
$pv=phpversion();$pv=substr($pv,0,1);if($pv>3){$REMOTE_ADDR=$_SERVER['REMOTE_ADDR'];}
$v=0;$f=0;$n=array();$ip=$REMOTE_ADDR;
$ip=sprintf("%u",ip2long($ip));
while(strlen($ip)<10){$ip='0'.$ip;}
$h=opendir($crdr);
while($e=readdir($h)){
$o=(int)$e;if(strlen($o)>5){
$n[$f]=$e;$f++;}}closedir($h);
sort($n);
$o=count($n)-1;$d=$n[$o];
for($j=0;$j<$o;$j++){if($ip>=$n[$j]&&$ip<$n[$j+1]){$d=$n[$j];break;}}
$d=$crdr.'/'.$d;$q=fopen($d,"r");
while(!feof($q)){$r=fgets($q,32);
$a=substr($r,0,9);$b=substr($r,10,19);$c=substr($r,20);
if($ip>=$a&&$ip<=$b){$v=1;break;}}
fclose($q);
if($v==0)
//se neanche da questo ho informazioni dico che sia italiano e stop
{
 $lingua = "it";
}
else
{
 $cc=strtolower($c);$cc=str_replace("\n","",$cc);
 $path=set_path($cc);
 if($path=='it')
  {
   $lingua = "it";
  }
  else
  {
   $lingua = "uk";
  }
}
 }
setcookie("lingua", $lingua, time()+(60*60*24*730));
//metto il cookie
?>
Sicuramente il codice andrebbe ottimizzato, ma funge
Edoardo 

 Ci sono diversi modi per localizzare una pagina.
CUT
... qui ci starebbero bene delle scuse....

"akille" <anicewebO...@gmailODIOLOSPAM.com> ha scritto nel messaggio 
news:dss9s9$taa$1...@nnrp-beta.newsland.it...

Perchč? 

Ok, solo una parte non mi è chiara,
Come si capisce la lingua classica impostata?


 Come si capisce la lingua classica impostata?
Ciao
I metodi con cui puoi capire la lingua parlata dell'utente sono diversi, 
nessuno di questi infallibile:
1) la lingua impostata nel browser
2) la provenienza dell'IP
Difatti nello script prima vedo se l'utente, tramite GET, indica la lingua 
in cui vuole corrispondere, poi vedo se c'è il cookie essendo un vecchio 
utente, poi passo alla rilevazione degli altri sistemi
Edoardo 

 un vecchio utente, poi passo alla rilevazione degli altri sistemi
Ok grazie.
