PHP Yönlendirme Pause

6 Cevap php

PHP nasıl kullanan başka bir HTML / PHP sayfasına kullanıcı yönlendirme önce saniye belirli bir süre için bir sayfa duraklatırım?

6 Cevap

Bu bir işleri yapmalıdır:

<?php
header('Refresh: 5; URL=http://yoursite.com/page.php');
//other code
?>

ve kullanıcı istediğiniz çıktı ne tür görmek için izin verir (Bu X Saniyede yönlendirilirsiniz, ýere tıklarsanız dont vb.)

Javascript veya hatta PHP gerektiren düşük teknolojili çözüm:

<html>
<head>
    <title>Redirecting...</title>
    <meta http-equiv="refresh" 
content="10;URL=http://www.newsite.com">
</head>
<body>
    You are being automatically redirected to a new location.<br />
    If your browser does not redirect you in 10 seconds, or you do
    not wish to wait, <a href="http://www.newsite.com">click here</a>. 
</body>
</html>

"Konum:" kullanarak üzerinden bu çözümün avantajı başlığı sunucu meşgul ya da bağlantı asılı sanki kullanıcıya görünür komut yürütme, duraklatma gerek kalmamasıdır.

Bu çözüm aynı zamanda kullanıcıya yeni sayfaya geçmeden hemen ziyade kendi tarayıcı hiçbir bilgi görüntüler ise x number of seconds beklemek zorunda seçeneği sunar.

Düzenleme: Ben bu başlığı () yöntemini kullanmaya karar verirseniz, sizin uyku () süresi çok uzun olmadığından emin olmak gerektiğini belirterek, aynı zamanda değer olduğunu düşünüyorum. Ben çoğu tarayıcı 1 dakika için sunucudan herhangi bir veri aldıktan sonra değil, bir connection timed out oluşturmak düşünüyorum.

never use sleep this way. Even under slight load your server will run out of http connections. Worst if your firewall runs out.

Yönlendirme başlığındaki gecikme parametresi aynı nedenden için yapılır.

Diğer 2 seçenek bir JavaScript setTimeout () veya bir zaman aşımı ile bir meta yenileme etiketi kullanarak yönlendirme vardır.

Update: Bu çalışır, ancak bu durum için en uygun çözüm olmayabilir. Bak yorum.

Bu sizin için ne arıyor olabilir?

<?php
sleep(5);
header("Location: http://www.example.com/");
exit();
?>

Deneyin:

<?php
$url=base_url().'page_you_want_to_go_to'
header('Refresh: X; URL=$url');
?>

Localhost ve uzak sunucu arasındaki alışverişi yaparken bu size ek esneklik verecek.