Как говорит @Tomalak, вам не следует использовать javascript для решения этой проблемы. Использовать перенаправление на сервер.
Однако существует более общая проблема с получением данных php в javascript. Я решу эту проблему здесь.
Вам необходимо правильно указать параметр $url
для javascript и html. redirect()
не определено, поскольку в нем есть синтаксическая ошибка.
Когда вам нужно передать встроенные данные javascript в html, используйте следующий шаблон. Это самый ясный и безопасный способ сделать это.
<?php
// 1. put all the data you want into a single object
$data = compact($url);
// $data === array('url'=>'http://example.org')
// 2. Convert that object to json
$jsdata = json_encode($url);
// 3. html-escape it for inclusion in a script tag
$escjsdata = htmlspecialchars($jsdata, ENT_NOQUOTES, 'utf-8');
// change utf-8 to whatever encoding you are using in your html.'
// I hope for your sanity you are using utf-8!
// 4. Now assign $escjsdata to a js variable in your html:
?>
<html>
<head>
<title>Redirecting</title>
</head>
<body onload='redirect()'>
Not Logged In
<script type = 'text/javascript'>
function redirect() {
var data = <?php echo $escjsdata ?>;
window.location=data.url;
}
</script>
</body>
</html>