Newsgroup: it.comp.www.php
Titolo: Redirection in PHP

Salve,
dovrei servire un link piuttosto che un altro in PHP. Se utilizzo la
redirection tradizionale con la Location dell'header alcuni browser, come
Mozilla, si incazzano e dopo un po' di volte e non consentono il redirect.
In questo caso mi serve un redirect non inviato al browser, ma un redirect
fatto sul server, in pratica la pagina non deve dire al browser di
caricare una pagina alternativa, ma gia' deve fornire quella nuova.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 quella nuova.
http://www.php.net/include
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 
http://www.php.net/include
Non mi serve. Il problema e' che con Mozilla ho il seguente messaggio:
Redirection limit for this URL exceeded...
sembra che il problema sia diffuso, ma su tutti i forum non ho trovato
un'alternativa convincente, solo soluzioni di comodo.
In JSP esiste la possibilita' di effettuare un redirect direttamente su
server senza inviare il comando al browser, vorrei sapere se con PHP e'
possibile.


 L'errore e' a livello logico non di PHP od HTTP.
Si l'ho notato. Grazie cmq.


 Redirection limit for this URL exceeded...
Non so a cosa ti serve, quindi faccio un'ipotesi: ammettiamo che tu debba
reindirizzare un utente, a seconda delle caratteristiche del bowser, ad una
pagina piuttosto che ad un'altra; una volta che hai effettuato il controllo
ti basta un ciclo che prenda in considerazione tutte le alternative (pagine
diverse, in questo caso) che hai a disposizione e che dichiari la variabile
$link con l'indirizzo della pagina a cui devi rimandare l'utente.
poi ti basta usare i META TAG e stampare la variabile laddove dovresti
inserire l'indirizzo.
HTH
Corrado

 
prova con javascript allora..
al limite puoi modificare questa funzione..
(dove ho commentato 'errore' va inserita una funzione/serie di istruzioni
che cerchi tutti i tag <a> e <img> e modifichi il href ed il src con i
valori corretti)
<?php
error_reporting(E_ALL);
$site = "
http://www.google.com
";
function redirect($site_name){
  $pu = parse_url($site_name);
  $fp = fsockopen($pu['host'], 80, $errno, $errstr, 30);
  if(!$fp)
    echo "$errstr ($errno)<br />\n";
  else{
    fwrite($fp, "GET $site_name HTTP/1.1\r\nHost: $site_name\r\nConnection:
Close\r\n\r\n");
    while(!feof($fp)){
      @list($head, $info) = explode(': ', $line = fgets($fp), 2);
      if($head == 'Location'){ 
        redirect(trim($info)); 
        exit;
      }
      if(trim($line) == '') 
        break;
    }
    while(!feof($fp)){
      $line = fgets($fp);
      // errore
      echo $line;
    }
    fclose($fp);
  }
}
redirect($site);
?>
-- 
www.iuz-lab.info

 al limite puoi modificare questa funzione..
function redirect ($url) {
  $content = @file_get_contents ($site);
  if ($content !== false) {
	echo $content;
 	return true;	
  }
  return false;
} 
Comunque dovresti comunque rielaborare il contenuto ed aggiungere
almeno il tag base per evitare che i link ed i riferimenti siano errati.
-- 
I am what I am, I do what I can


 fatto il redirect.
Scusate, errore risolto. Il problema era logico.
Il redirect ad una pagina senza argomento mi conduceva ad un loop continuo
(al caricamento della nuova pagina entravo comunque nell'else e quindi ad
un nuovo redirect) che su Mozilla viene intercettato, su IE provoca un
loop continuo. 


 su server senza inviare il comando al browser
E che cosa avrebbe di diverso da 
http://www.php.net/include
?
-- 
I am what I am, I do what I can


 
ah.. s**t on me..
-- 
www.iuz-lab.info

 
ah.. shit on me..
-- 
www.iuz-lab.info