web-dev-qa-db-ja.com

一定時間後のページのリダイレクトPHP

しばらくしてからリダイレクトするための特定のPHP関数があります。どこかで見ましたが、思い出せません。ログイン後のGmailのリダイレクトのようなものです。どうか、誰かに思い出させてください。

87
afaolek
header( "refresh:5;url=wherever.php" );

これは、headerを設定するphpの方法です。これにより、5秒でwherever.phpにリダイレクトされます


実際の出力を送信する前に、通常のHTMLタグ、ファイル内の空白行、またはPHPからheader()を呼び出す必要があることに注意してください。 include、require、または他のファイルアクセス関数を使用してコードを読み取り、header()が呼び出される前に出力されるスペースまたは空の行があるのは非常に一般的なエラーです。単一のPHP/HTMLファイルを使用する場合にも同じ問題が存在します。 (ソース php.net

214
Teneff

しばらくしてからJavaScriptを使用してリダイレクトできます

setTimeout(function () {
   window.location.href= 'http://www.google.com'; // the redirect goes here

},5000); // 5 seconds
25
Ibu

これを試すことができます:

header('Refresh: 10; URL=http://yoursite.com/page.php');

10は秒単位です。

16
royrui

phpを使用してメタタグを書きたいと思うでしょう。

<meta http-equiv="refresh" content="5;url=http://www.yoursite.com">

推奨されませんが、可能です。この例の5は、更新するまでの秒数です。

11
John
header( "refresh:5;url=wherever.php" );

実際、teneffが言ったようにこのコードを使用できますが、必ずしも送信済み出力の前にヘッダーを置く必要はありません(「ヘッダーを再配置できません...:3エラー」が出力されます)。

これを解決するには、htmlが出力される前にphp関数ob_start();を使用します。

Obを終了するには、html出力がない後にob_end_flush();を置くだけです。

乾杯!

3
JJJack

ファイルを保存するために名前を付けて保存ダイアログを開くと、5秒後のPHP更新が機能しませんでした:(header( 'Content-type:text/plain'); header( "Content-Disposition:添付ファイル; filename = $ filename> ");)

[名前を付けて保存]リンクをクリックしてファイルを保存した後、呼び出しページで時間指定された更新が停止しました。

しかし、ibuのjavascriptソリューションは、私の特定のアプリケーションに必要なWebページのチェックと更新を続けています。ここにphp問題のjavascriptソリューションを投稿してくれたibuに感謝します。

しばらくしてからJavaScriptを使用してリダイレクトできます

setTimeout(function () {    
    window.location.href = 'http://www.google.com'; 
},5000); // 5 seconds
2
JustJohn

PHPでリダイレクトする場合は、sleep()コマンドを使用して、リダイレクトする前に何秒間もスリープします。

しかし、あなたが言及しているのはメタ更新タグだと思います:

http://webdesign.about.com/od/metataglibraries/a/aa080300a.htm

1
Jason Palmer

私の申し出は、sleep()関数から使用することです。

<?php
sleep(5);
header('location'.URL);
?>

このjavascriptコードを使用して、特定の時間後にリダイレクトできます。それがうまくいくことを願っています。

setRedirectTime(function () 
{
   window.location.href= 'https://www.google.com'; // the redirect URL will be here

},10000); // 10 seconds
0
Prodip Kirtania