• 20-04-2020, 17:56:41
    #1
    Merhaba arkadaşlar belirli bir saatten geri sayım için js kodlarını internetten buldum

    (function() {
    var start = new Date;
    start.setHours(21, 30, 0);
    
    function pad(num) {
    return ("0" + parseInt(num)).substr(-2);
    }
    
    function tick() {
    var now = new Date;
    if (now > start) { 
    start.setDate(start.getDate() + 1);
    }
    var remain = ((start - now) / 1000);
    var hh = pad((remain / 60 / 60) % 60);
    var mm = pad((remain / 60) % 60);
    var ss = pad(remain % 60);
    document.getElementById('time').innerHTML =
    hh + ":" + mm + ":" + ss;
    setTimeout(tick, 1000);
    }
    
    document.addEventListener('DOMContentLoaded', tick);
    })();
    burdaki start.setHours(21, 30, 0); kısmındaki başlangıç saatini veri tabanından $bassaat değişkeninden almak istiyorum.
    function kodundan önce var bassaat = '<?php echo $bassaat; ?>'; komutu ile denedim ama başaramadım.
  • 20-04-2020, 18:38:57
    #2
    PHP kodunu sadece .php uzantılı sayfalarda kullanabilirsiniz. Bundan ötürü yapmanız gereken şey yaklaşık olarak şöyle:
    1 - js dosyasını import ettiğiniz php sayfasında bir yere şu kodu eklemeniz lazım (script tagları arasına) :
    var bassaat = '<?=$bassaat ?>';
    3. satırdaki setHours ile şu şekilde güncellenmeli:

    var tarih = new Date(window.bassaat);
    start.setHours(tarih.getHours(), tarih.getMinutes(), tarih.getSeconds());
    Bir iki şeyi değiştirmeniz gerekebilir. Koda müdahale etmeden ancak bu kadar
  • 20-04-2020, 18:48:59
    #3
    Ben derim ki footer kısmında bir adet hidden input oluştur onun value değerine bas tarihi daha ve ona bir id ata ve jQuery ile o id ile value değerini al derim en mantıklı senin için daha basit olacak yöntem bu olabilir hocam. İletişime geçersen yardımcı olurum ama ilk önce kendin biraz dene
  • 20-04-2020, 19:27:19
    #4
    TheKhan adlı üyeden alıntı: mesajı görüntüle
    PHP kodunu sadece .php uzantılı sayfalarda kullanabilirsiniz. Bundan ötürü yapmanız gereken şey yaklaşık olarak şöyle:
    1 - js dosyasını import ettiğiniz php sayfasında bir yere şu kodu eklemeniz lazım (script tagları arasına) :
    var bassaat = '<?=$bassaat ?>';
    3. satırdaki setHours ile şu şekilde güncellenmeli:

    var tarih = new Date(window.bassaat);
    start.setHours(tarih.getHours(), tarih.getMinutes(), tarih.getSeconds());
    Bir iki şeyi değiştirmeniz gerekebilir. Koda müdahale etmeden ancak bu kadar
    ilginiz için teşekkür ederim ama çalışmadı malesef alert kodu ile çıktı sağladım alert (window.bassaat) yazınca 21:30:00 olarak sonuç veriyor ama geri sayımda şu hatayı veriyor aN:aN:aN
    Bu arada sizin tarih yazınızı start olarak değiştirdim
  • 20-04-2020, 19:42:52
    #5
    Kodunuz online çalışıyorsa bir link almam mümkün mü? tarih.getHours() fonksyonunun çıktısı ne geldi, ona bakmak lazım
  • 22-04-2020, 13:04:13
    #6
    TheKhan adlı üyeden alıntı: mesajı görüntüle
    Kodunuz online çalışıyorsa bir link almam mümkün mü? tarih.getHours() fonksyonunun çıktısı ne geldi, ona bakmak lazım
    online çalışmıyor hocam localde deniyorum. Invalid date olarak çıktı veriyor. phpmyadminde tablo yapısı time olarak düzenledim ama yine sonuç değişmedi.
    window.bassaat ı alert komutuyla çalıştırınca veri tabanındaki değeri veriyor orda problem yok ama fonksiyon içerisine alamadım.

    yada kodları değiştirmem gerekirse nasıl yapmam gerekir amacım admin panelden başlangıç saati verip (değişken) hergün o saate geri saydırmak