v2.5.2
Giriş yap

PHP ile POST'u zamanlı yayınlama.

gokcin
678 defa görüntülendi ve 2 kişi tarafından değerlendirildi
Merhabalar;

WordPress gibi içeriklerin zamanlı yayınlama özelliği hakkındaki özellikleri nasıl sağlayabilirim.

Mesela, panel üzerinden bir veri girilecek ve zamanlamayı örneğin akşam belirli bir saate seçti ve o saatte onu o sistem yayınladı.
Burada bir cron mantığı yok aslında.

>> Benim aklımdaki olan mantık şöyle.
Veri eklenirken eklenen saati alıp, sorgu işlemlerinde NOW()'u kullanmak.

teşekkürler.

Cevap yaz
Cevaplar (3)
h4ckdr0
713 gün önce

Merhaba,

Bir verinin zamanlı yayınlanmasını sağlamak için öncelikle veriye ekleyeceğiniz bir zaman damgası oluşturmanız gerekiyor. Bu zaman damgasını, veriyi eklediğiniz anda oluşturarak kaydedebilirsiniz. Örneğin PHP kodunuzda bir form ekranı oluşturarak bu form aracılığıyla veri ekleyebilirsiniz. Form içinde bir "Yayınlanma Zamanı" alanı oluşturarak bu alana girilen zamanı verinin yayınlanma zamanı olarak kaydedebilirsiniz.

Daha sonra verileri listeleyen bir sayfada, yayınlanma zamanının geçip geçmediğini kontrol etmeniz gerekiyor. Örneğin, verileri bir SQL sorgusuyla veritabanından çektikten sonra bu verileri listeleyecek bir PHP döngüsü oluşturarak yayınlanma zamanının geçip geçmediğini kontrol edebilirsiniz. Örnek bir kod parçacığı aşağıdaki gibidir:

$veriler = "SELECT * FROM veriler"; // Verileri veritabanından çek

foreach ($veriler as $veri) {
    // Verinin yayınlanma zamanını al
    $yayinlanma_zamani = $veri['yayinlanma_zamani'];

    // Geçerli zamanı al
    $simdiki_zaman = date('Y-m-d H:i:s');

    // Verinin yayınlanma zamanı geçmiş mi?
    if ($yayinlanma_zamani <= $simdiki_zaman) {
        // Veri yayınlanabilir
        echo $veri['icerik'];
    }
}

Bu kod veritabanından verileri çekmektedir. Daha sonra, her verinin yayınlanma zamanını alır ve geçerli zamanla karşılaştırır. Eğer verinin yayınlanma zamanı geçmişse, verinin içeriği ekrana yazdırılacaktır.
Tabii bunu saf php ile yapmamak lazım (artık ajax mı, cron mu yoksa başka bir method mu kullanırsınız orası size kalmış :))

serkan
729 gün önce

Gokcin bir soruma cevap yazmışsın ama soru kaldırılmış cevabın neydi acaba.

serhatgg
1348 gün önce

en basitinden şöyle yapabilirsin bir publish date oluşturup sql kodunda wherede NOW >= Publish_date kontrolü yapabilirsin :)