2012-10-22 2 views
-1

У меня проблема с использованием моего php-кода в javascript-функции setTimeout. Код находится в php-файле, но вместо того, чтобы действовать так, как нужно, и ждать пять минут, чтобы отправить пользователя на индексную страницу моего веб-сайта, он просто делает это мгновенно. Есть идеи?using php внутри setTimeout в javascript

Вот код:

<script> 
    setTimeout(function() { <?php header('Location: /index.html'); ?> }, 300000); 
</script> 
+1

Вы не можете устанавливать заголовки в любом месте, кроме начала своей страницы PHP. – gcochard

+0

Заголовок был главным образом, например, для целей, я планирую использовать гораздо более сложный PHP-код в этом фрагменте. Я просто подумал, что в качестве примера я бы просто использовал простую функцию php, чтобы задать свой вопрос. – Twisterz

ответ

2

Да. Это связано с тем, что PHP-код сначала выполняется, потому что он является серверным. Поэтому вам нужно будет изменить свой код:

<script> 
    setTimeout(function() { window.location.href='/index.html' }, 300000); 
</script> 
+0

Есть ли все-таки, чтобы убедиться, что php не выполняется первым, и он действительно ждет до правильного времени, потому что мне нужно использовать php в этом фрагменте кода (не для перенаправления, а для других вещей) – Twisterz

+0

@Twisterz : no .. у вас есть фундаментальное непонимание того, как работают javascript и php. PHP запускается на сервере, javascript на клиенте. К моменту, когда браузер запускает javascript, PHP полностью не соответствует действительности. – Evert

+0

@Twisterz PHP будет выполнен до того, как страница даже попадет в браузер. – sachleen

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