PHP ile POST'u zamanlı yayınlama.
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.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
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ış :))