2012-10-22 34 views
-1

我有一个问题,在javascript函数setTimeout内使用我的php代码。代码是在一个PHP文件中,但不是像它应该这样做,而是等待五分钟将用户发送到我的网站的索引页面,它就会立即执行。有任何想法吗?在javascript中setTimeout内使用php

下面的代码:

<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 :不,你对JavaScript和php的工作原理有一个基本的误解。 PHP在服务器上执行,客户端上的JavaScript。当浏览器执行JavaScript时,PHP完全不在图片中。 – Evert

+0

@Twisterz在页面甚至到达浏览器之前,PHP将被执行。 – sachleen