[php] redirect non funziona sotto internet explorer

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, ho questo codice che non funziona bene con internet explorer con firefox e altri funziona.
Per testarlo si deve fare redirect("pagina_da_dove_redirect.php",5);
che 5 sta per 5 secondi.

ecco il codice:
PHP:
<?php
function redirect($url,$tempo = FALSE ){
 if(!headers_sent() && $tempo == FALSE ){
  header('Location:' . $url);
 }elseif(!headers_sent() && $tempo != FALSE ){
  header('Refresh:' . $tempo . ';' . $url);
 }else{
  if($tempo == FALSE ){
    $tempo = 0;
  }
  echo "<meta http-equiv=\"refresh\" content=\"" . $tempo . ";url=" . $url . "\">";
  }
}?>

come mai?

mi potete risolvere questo problema?
grazie mille.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Ti consiglio di modificare la funzione così:
PHP:
<?php
function redirect($url, $timeout = 0)
{
	$timeout = (int)$timeout;
	die("<meta http-equiv=\"refresh\" content=\"{$timeout}; URL={$url}\" />");
}
?>
Vedi se in questo modo fa quello che dovrebbe.
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
niente, devo usare per forza questo che uso io,

perché mi serve che quando non c'è nessun output html, mi funziona header ed invece se c'è qualche output html mi funziona il meta.

Mi dici come risolvere?
PHP:
<?php
function redirect($url,$tempo = FALSE ){
 if(!headers_sent() && $tempo == FALSE ){
  header('Location:' . $url);
 }elseif(!headers_sent() && $tempo != FALSE ){
  header('Refresh:' . $tempo . ';' . $url);
 }else{
  if($tempo == FALSE ){
    $tempo = 0;
  }

  echo "<meta http-equiv=\"refresh\" content=\"" . $tempo . ";url=" . $url . "\">";
  }
}?>
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Il tag meta funziona benissimo anche se non è stato inviato prima alcun output HTML. La funzione che avevi scritto eseguiva un controllo inutile, perché meta funzionerà sempre, sia che gli header siano stati inviati sia che non siano stati inviati...
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Ho risolto:
ecco il codice:
PHP:
<?php
function redirect($url,$tempo = FALSE ){
 if($tempo == FALSE ){
  header('Location:' . $url);
 }else{
 
  echo "<meta http-equiv=\"refresh\" content=".$tempo.";url=".$url.">";
 }
}
?>
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
risolto anche questo problema non c'èra un tag nel refresh header:

PHP:
<?php
function redirect($url,$tempo = FALSE ){
 if(!headers_sent() && $tempo == FALSE ){
  header('Location:' . $url);
 }elseif(!headers_sent() && $tempo != FALSE ){
  header('Refresh:' . $tempo . ';url=' . $url);
 }else{
  if($tempo == FALSE ){
    $tempo = 0;
  }
  echo "<meta http-equiv=\"refresh\" content=".$tempo.";url=".$url.">";
  
 }
}
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] redirect se non si connette al db PHP 1
A [PHP] redirect htaccess PHP 5
M [PHP] Modi per fare redirect 301 da http a https PHP 12
M Redirect sito php su server Windows PHP 0
trattorino [PHP] [HTML] redirect iniezione su firefox PHP 5
bubino8 [PHP] Contatore Scan QR con redirect PHP 10
A redirect da pagina php chiamata da ajax PHP 2
F [PHP] [HTML] Redirect Complicato PHP 5
Fredyss redirect a altra pagina php dopo commit su postgresql con PDO PHP 1
M redirect php email inviata con successo PHP 2
Laskot Login php e redirect PHP 1
A [PHP] Problema redirect PHP 0
E [PHP] Redirect Alias su dominio principale con url primario PHP 4
G Errori PHP è possibile fare un redirect ad una pagina d'errore? PHP 3
G php redirect header location pagina bianca PHP 0
F Redirect in PHP PHP 5
L [PHP] Problema con il redirect ad un'altra pagina PHP 2
F redirect url php PHP 1
F redirect con htaccess funziona anche con fopen di php? Apache 1
maxbossi redirect PHP PHP 0
N Particolare redirect con PHP PHP 4
S Redirect php Querystring link Aiuto?? PHP 6
R script per redirect php ad orari stabiliti PHP 31
voldemort PHP Redirect 301 (moved permanently) PHP 2
S Redirect e conta click con PHP e MySql scritto da Max Bossi PHP 5
M Aiutino con php e redirect PHP 7
D redirect in php PHP 1
G Come far fare redirect al form mail in php PHP 3
S Redirect in una pagina in PHP!! PHP 2
S Response.Redirect e Response.End in PHP!!!! PHP 3
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1

Discussioni simili