2012-07-16 13 views
25

次のコードをリフレッシュページに使用していますが、完了時にリロードされません。次のコードはいつか動作しません。PHP - 自動リフレッシュページ

$page = $_SERVER['PHP_SELF']; 
$sec = "10"; 
header("Refresh: $sec; url=$page"); 
echo "Watch the page reload itself in 10 second!"; 
+1

やすいようにそれを取る質問で自分の問題を述べるコメントを投稿する必要があります。 – HeatfanJohn

+0

これは本当に問題と関係がない場合は、 "ページの負荷が高いため"を削除する必要がありますか? – HeatfanJohn

+0

@HeatfanJohn何か良いものを最初に始めることは悪くない。質問が役に立つ場合は、どうして自分で投票してください。とにかく..私はそれが私の問題を解決したとしてそれを投票しています。 –

答えて

41

そうのように、代わりにヘッダリダイレクトの<meta>リダイレクトを使用します。

<?php 
$page = $_SERVER['PHP_SELF']; 
$sec = "10"; 
?> 
<html> 
    <head> 
    <meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'"> 
    </head> 
    <body> 
    <?php 
     echo "Watch the page reload itself in 10 second!"; 
    ?> 
    </body> 
</html> 
+0

面白い考え。私はそれに注意する。 – DrinkJavaCodeJava

+0

これらの2つの方法は基本的に同等ですか? http://en.wikipedia.org/wiki/URL_redirection#Refresh_Meta_tag_and_HTTP_refresh_header両方ともブラウザに10秒後にページを更新するよう指示します。 Webサーバーが要求に圧倒されている場合、ブラウザにページの更新方法を教える方法を変更することは本当に助けにならないでしょうか? – HeatfanJohn

+0

@HeatfanJohn - HTTPヘッダーの更新はHTTP標準にはありません。次に、ヘッダリダイレクトの振る舞いが標準化されていないため、HTMLがレンダリングされるまでタイムアウトが開始されず、ブラウザはヘッダ情報を受信して​​動作することができます。 – nickb

21

あなただけのheadタグの後に

10を、それを追加し

<meta http-equiv="refresh" content="10" > 

を使用することができますあなたのページ自体が更新される時間です

7

使用このコードを、それが自動的に5秒に更新され、あなたにもこれを試してみてリフレッシュに

<?php $url1=$_SERVER['REQUEST_URI']; header("Refresh: 5; URL=$url1"); ?>

3

を時間を変更することができます。あなたのページには、たぶん、このコードを使用するすべての10秒

<html> 
<head> 

    <meta http-equiv="refresh" content="10; url="<?php echo $_SERVER['PHP_SELF']; ?>"> 
</head> 
<body> 

</body> 
</html> 
+1

こんにちはGideon afoh、metaタグにphp_selfを渡す必要はありません(つまり、url = <?php echo $ _SERVER ['PHP_SELF'];?>)。これもなければ、現在のページを10秒ごとに更新する必要があります。 –

0

が更新されます

<meta http-equiv="refresh" content = "30" /> 

はこれをdownvoted誰