echo Javascript fenêtre.emplacement.href ne fonctionne pas

J'ai une fonction qui fait écho à javascript pour naviguer vers une autre page. Tandis que la navigation se produit, le

echo 'window.location.href="'.$url.'";'; 

ne fonctionne pas et simplement l'imprime sur l'écran.

"window.location.href="./index.php";

- Je utiliser ma fonction de cette manière: redirect("./index.php");

Ma fonction php est comme suit

  function redirect($url)
   {    
    if (!headers_sent())
    {    
      header('Location: '.$url);
      exit;
    }
   else
    {      
      echo '<script type="text/javascript">';
      echo 'window.location.href="'.$url.'";';
      echo '</script>';
      echo '<noscript>';
      echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
      echo '</noscript>'; exit;
   }
} 
Votre $url doivent être échappées dans le cas où il contient un ". De toute façon, la page est une page html? Le navigateur pourrait être interpretting comme un simple texte. Aussi, en étant un peu pédant, la spécification HTTP dicte que l'Emplacement doit avoir une pleine URI suivant, pas une URL relative.
Ses une page php. Mon projet m'oblige à donner une URL relative est donc je n'ai pas le choix.
Une page PHP ne veut pas dire que c'est automatiquement interpretted comme HTML.

OriginalL'auteur zed | 2012-04-11