1

header() を使用して、時間間隔を空けて複数の URL にリダイレクトできますか? url1 と url2 があるとします。今、私が欲しいのは、ヘッダーが最初にurl1にリダイレクトされることです。次に、5 秒後に url2 にリダイレクトされます。それを行う方法はありますか?次の簡単なコードを試しました

<?php
header("Location: url1");
header("Location: url2");
?>

しかし、これはすぐに url2 に移動します。間に隙間が欲しい。どうすればそれができますか?前もって感謝します。

4

5 に答える 5

4

それはそれがどのように機能するかではありません。リダイレクトにより、新しいページに移動します...そして、そのページは次のリダイレクトを行う必要があります. 次のようにする必要があります。

ページ1:

<?php
header("Location: url1");
exit();
?>

ページ2:

<head>
<meta http-equiv="refresh" content="5; URL=url2">
</head>
于 2012-07-25T06:43:24.190 に答える
1

いいえ、できません。どちらのヘッダーもすぐにブラウザーに送信され、後者のヘッダーが最初のヘッダーを上書きします。URL の前に「Refresh: X」を追加できますが、最後に送信されたヘッダー (リダイレクト先の URL) に対してのみ機能します。

実際には、url1 にあるものを制御するか、フレームでいくつかのトリックを使用しない限り、これを達成する方法はわかりません。

于 2012-07-25T06:46:56.033 に答える
0

subirkumarsao、Martin、Edmundsが指摘しているように、iframeが最適です。最終的なコードは次のとおりです。

<html>
<iframe src="url1" width="500" height="500"> </iframe>
</html>

<?php
include('exp2.php');
?>

これで、exp2.phpに送信ボタン(これはフレームの下部に表示されます)があり、next.phpに移動します。そしてnext.phpには次のコードがあります:

<?php
header("Location:url2");
exit();
?>
于 2012-07-25T08:51:17.423 に答える
0

ヘッダー内:

<script language="JavaScript">
var time = null
function move() {
myiframe.location.href = 'url2';
}
</script>

そして、これは本体にあります:

<body onload="timer=setTimeout('move()',2000)"> //where 2000 is 2 seconds
<iframe id="myiframe" name="myiframe" src="url1"> </iframe>

乾杯

于 2012-07-25T06:49:07.660 に答える
0

リダイレクトされたurl1場合、別のリダイレクトを行うためのコントロールはもうありません。

url1fromからurl2onに具体的にリダイレクトする必要がありますurl1

制御できない場合は、iframe を試すこともできますurl1

于 2012-07-25T06:46:57.157 に答える