2015-02-14 8 views
0

Здравствуйте, я попытался создать javascript внутри страницы PHP, где страница будет перенаправлена ​​в определенное место, которое определяется переменной $url через некоторое время, которое определяется переменной $timer.Использование php-переменных в javascript?

Проблема в том, что временная переменная не работает, она работает только тогда, когда у меня есть число, а не переменная $timer. $timer также определен в документе php из базы данных.

В чем проблема? Я уверен, что $timer является целым числом, потому что это число.

echo "<script type ='text/javascript'> 
 

 
function countdown() { 
 
    location.href = '$url'; 
 
    } 
 
    
 
setInterval(function() { countdown(); }, $timer); 
 
    </script>";

Это лишь часть всего PHP скрипт! Если хотите, я могу опубликовать весь скрипт.

+5

Как общий комментарий, мой незапрошенный совет для вас заключается в том, что очень плохой практикой является PHP-эхо-комментарий javascript. Моя рекомендация заключалась бы в том, чтобы заглянуть в шаблонный движок вроде twig (http://twig.sensiolabs.org/) –

+0

Если переменная '$ url' работает' $ timer' тоже. Вероятно, ошибка не в той части, которую вы показываете. Вы уверены, что переменная не пуста? Что вы видите, когда смотрите исходный код страницы? –

+0

Не смешивайте PHP и JavaScript. Щенки умрут. – Jonast92

ответ

0

$timer является PHP переменная

function countdown() { 
    location.href = '$url'; 
    } 

setInterval(function() { countdown(); }, <?php echo $timer; ?>); 
+0

Еще не повезло:/Только пустой экран. – Wallden

+0

$ timer - это переменная PHP, правильно? – void

0

Вы могли бы попробовать это;

echo "<script type ='text/javascript'> 
function countdown() { 
    location.href = '" . $url . "'; 
} 

setInterval(function() { 
    countdown(); 
}, " . $timer . "); 
</script>"; 

Дополнение: Если это не устранит проблему, и вы уверены, что оба $url и $timer PHP-переменные установлены, то проблема, скорее всего, где-то в другом месте.

+0

Да, я думаю, что это из других источников, потому что я не могу ради шоколада заставить его работать. Я попробую с кнопкой вместо таймера. Может быть, $ timer не распознается как целое число javascript. Спасибо, что ответили! – Wallden

Смежные вопросы