-1

ページを更新またはリダイレクトするたびに、新しい URL に 4 ミント後にページを更新またはリダイレクトしたい
例 このようなもの

$i=1
while($i = 100){
 //** Now URL redirect here 
$url="u_pc_change.php?id=$i";
echo '<meta http-equiv="refresh" content="2;url='.$url.'">';
$i++;
 }

ここで 4 分間待機し、ページを次のような新しい URL にリダイレクトまたは更新するコード

u_pc_change.php?id=1
u_pc_change.php?id=2
u_pc_change.php?id=3

上記のコードは、高速ループを実行し、4 ミントを待機するものがないため機能しません。2 番目のループが発生する前に 4 ミントを待機する方法が必要です。

4

3 に答える 3

0

もちろん、他の人が提案したように JS でページを更新することも、例で使用したメタ更新を使用することもできます。ただし、ページ全体を更新する必要があるため、どのような種類のタイムアウト (または間隔) を使用しても意味がありません。

バックエンドでロジック全体を処理し、一度に 1 つの更新だけを心配していました。ページを順番に更新したい場合は、URL の配列を作成し、常に現在のページから次の URL を選択してください。ランダムなページ読み込みが必要な場合は、ページごとにランダムな配列インデックスを選択してください。

繰り返しますが、ループやインターバルは必要ありません。それらはどちらの端でも有用であるほど長くは生きません。

于 2012-12-30T14:05:31.313 に答える
0

4 分間待ちたい場合は、次のように JS を使用できます。

<script>setTimeout(function() { document.location='your_desired_location';},1000 * 60 * 4);</script>

私があなたを正しく理解していれば、ユーザーがページを更新したか、離れて戻ったか、または 4 分間ページにとどまったかに関係なく、4 分ごとに異なる何かを表示したいと考えています。

ユーザーの更新時間を節約して、次回チェックすることができます。

session_start();
if( !isset($_SESSION['lastRefresh']) ) $_SESSION['lastRefresh'] = time(); //User is here for first time
else {        
    if( time() - $_SESSION['lastRefresh']  > 60 * 4 )//Show something else
    {
      $_SESSION['lastRefresh'] = time();//This is in if, so "timer" won't reset if user refresh before 4 minutes.
    }
}
于 2012-12-30T13:32:41.253 に答える
0

次のコードを使用して、ページをランダムな URL にリダイレクトできます。

<script type="text/javascript">

var urls = new Array("http://www.firstURL.com/", "http://www.SecondURL.com/");

function redirect(){
    window.location = urls[Math.floor(urls.length*Math.random())];
}

setInterval("redirect()", 4000);

</script>
于 2012-12-30T13:21:38.260 に答える