PHP, zamanlayıcı aşağı sayım oluşturmak nasıl?

7 Cevap php

Nasıl bunu yapmak için:

"Eğer 5 .. (4,3,2,1) saniye domain.com yönlendirileceksiniz"

php??

7 Cevap

Javascript en iyi seçenek olduğunu eminim. Bunu yapmak için diğer tek yolu yeni bir URL'ye bence overkill her saniye, yönlendirmek olacaktır.

İşte örnek bir sayım için tam kaynak kodu:

<html>
  <head>
    <meta http-equiv="refresh" content="5;url=http://example.com" />
    <title>Countdown Sample</title>
  </head>
  <body>
    you will be redirected to example.com in <span id="seconds">5</span>.
    <script>
      var seconds = 5;
      setInterval(
        function(){
          document.getElementById('seconds').innerHTML = --seconds;
        }, 1000
      );
    </script>
  </body>
</html>

Edit

İşte Alnitak tavsiyesi ile gelişmiş bir versiyonu:

Ben kullanıcıları yönlendirmek ve aşağıdaki 1 gitmekten geri sayımı engellemek için JavaScript değiştirdik ve ben JavaScript olmayan kullanıcılar için <meta> etrafında bir <noscript> etiketi ekledim.

<html>
  <head>
    <noscript>
      <meta http-equiv="refresh" content="5;url=http://example.com" />
    </noscript>
    <title>Countdown Sample</title>
  </head>
  <body>
    you will be redirected to example.com in <span id="seconds">5</span>.
    <script>
      var seconds = 5;
      setInterval(
        function(){
          if (seconds <= 1) {
            window.location = 'http://example.com';
          }
          else {
            document.getElementById('seconds').innerHTML = --seconds;
          }
        },
        1000
      );
    </script>
  </body>
</html>

Ishal aşağı sayarken açık istemci bağlantı tutmak için web sunucusu gerektirir çünkü bu, PHP yapılır iyi değildir.

Bu (IMHO) çok daha iyi setInterval() ile Javascript yapılabilir olacaktır.

Siz php böyle yönlendirme için bir zamanlayıcı ayarlayabilirsiniz, bir geri sayım görselleştirmek için javascript kullanmak gerekir:

header('refresh: 5; url=http://www.stackoverflow.com');

yenileme burada: yönlendirme için beklenecek süreyi saniye olarak ayarlayın x.

Siz zaman aşağı saymak için bir zamanlayıcı fonksiyonu oluşturmak için 5 saniye boyunca her saniye denilen setInterval() fonksiyonu ile bir Javascript geri sayım uygulayabilirsiniz. Zaman geçtikten sonra, o sayfaya kullanıcıyı yönlendirmek için document 's location.href özelliğini kullanabilirsiniz; aynı zamanda durumda Javascript örneğin, kapatılır, sayfa onları yönlendirmek için sabit bir bağlantı oluşturmak için yararlı olacaktır.

Örneğin:

var timeLeft, id;

function startCountDown()
{
    timeLeft = 5;
    id = setInterval(countDown, 1000);
}

function countDown()
{
    timeLeft -= 1;

    //Update the text which states how much time is remaining until the
    //user is redirected here..

    if(timeLeft==0)
    {
        clearInterval(id);

        //Redirect to the desired URL
        document.location.href = "http://domain.com";
    }
}

Kısa cevap: Yapamazsın.

Uzun cevap: PHP serverside ve bu kısa sürede sayfa gönderildiği gibi PHP onunla ilgisi yok. Ne aradığınız bir dizi yolla mümkündür. = Url; http://yoursite.com ">

Thank you for your feedback

                function timer(stamp)
                {
                    var temp=stamp;
                    temp=temp-1;
                    document.getElementById('mylbl').innerHTML = temp;
                    if(temp<=0)
                    {
                        window.location = "http://www.tasolglobal.com"
                        exit();
                    }
                    setTimeout("timer("+temp+")",1000); 
                }



    </script>

</head>

<body bgcolor="black" text="white" onload="timer(10+1)" >

    <?php
        //$sec=5;
        $to=$_REQUEST['from'];          //Set your email address where you want to get feedback
        $from=$_REQUEST['from'];        //This will be the senders email add
        $message=$_REQUEST['mesg'];     //This contains message from feed fackback form
        $subject=$_REQUEST['subject'];      //This contains subject of Feedback form. You can also set value as                                     feedback so you can find feedback mail easily
        $header="From: $from";          //Header of the feedback mail
        mail($to,$subject,$message,$header);

        echo "<br><br><h1>Thank You For Your Feedback...
            </h1><br><font color=red size=3>Your Will Be Redirected To HOME PAGE... Within ";
            echo "<label id=mylbl></label>" ;
        echo " Seconds";            
    ?>
</body>

Eğer php ile veritabanından için geri sayım ve sonra javascript ile aşağı saymak gereken bir tarih almak sayfasına girdiğiniz zaman, javascript ve php karıştırabilirsiniz. Bunun gibi bir şey http://free-countdown.co.nr/ tarafından kullanılan