redirect che non funziona

Ciao a tutti sto cercando di realizzare una funzione semplice che al soddisfacimento di una condizione esegua un redirect ad un altra pagina dello stesso sito.

Il codice non da nessun errore ma comunque non esegue il comando di andare alla nuova pagina

ecco il codice:

<?php

$variabile = 1;

$url = "pagina.php";

if ($variabile == '1') {

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 . "\">";

}

}

}

?>

Qualcuno sa dirmi dove sbaglio????

Vi ringrazio in anticipo.

inviato 7 anni fa
altamarea68
X 0 X

Forse non ti è chiaro l'uso delle funzioni. Hai msso la definizione della funzione redirect() all'interno dell'if ($variabile == '1')

Questo approccio mi fa pensare che speri che quella funzione venga eseguita se $variabile == '1'. Però non è così perché una funzione viene eseguita solo se viene invocata esplicitamente.

Dovresti provare così:

<?php
$variabile = 1;
$url = "pagina.php";

if ($variabile == '1') {
   redirect($url);
}


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 . "\">";
   }
}
?>
risposto 7 anni fa
Gianni Tomasicchio
X 0 X

 O0 O0 O0

 Ti ringrazio moltissimo vado subito a provarlo ...

 Grazie di nuovo

risposto 7 anni fa
altamarea68
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda