lostyazilim
tr.link

Php ile 3 dakika sonra mesaj

23 Mesajlar 3.514 Okunma
lstbozum
tr.link

berkaycatak berkaycatak Kendi Çapında Geliştirici Kullanıcı
  • Üyelik 15.09.2014
  • Yaş/Cinsiyet 23 / E
  • Meslek Yazılımcı
  • Konum İstanbul Anadolu
  • Ad Soyad B** Ç**
  • Mesajlar 1242
  • Beğeniler 1278 / 406
  • Ticaret 9, (%100)
Kodu yazdım test ettim verdim işte neyi düşünüyorsun daha

Sunephert adlı üyeden alıntı

Arkadaşlar bunu en basit yoldan register sayfasına bir insert komutu yükleyerek yapamazmıyız. Senaryo şöyle olsun. üye siteye kayıt oldu. Olduğu gibi mesaj tablosuna bir girdi eklendi ve mesaj gitti. Ama sorun bunu zamanlamak.
 

 

wmaraci
reklam

HakanKorkz HakanKorkz WM Aracı Kullanıcı
  • Üyelik 07.03.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek Mesleğim yok
  • Konum Sakarya
  • Ad Soyad H** K**
  • Mesajlar 250
  • Beğeniler 54 / 66
  • Ticaret 2, (%100)
Beyler arkadaşımızın kafasını karıştırmayalım lütfen ufak bir fonksiyon ile çözülecek bir durum bu mesela ben oluşturduğum ianları silmek için kalangun adında bir fonksiyon oluşturmuştum arkadaşımız Sunephert kardeşimiz de geçen dakika tarzı bir fonksiyon istiyor
Sunephert

kişi bu mesajı beğendi.

https://hakankorkmaz.site

ozmencelik ozmencelik Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.01.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek .Net Developer - İng Öğretmeni
  • Konum İzmir
  • Ad Soyad Ö** Ç**
  • Mesajlar 339
  • Beğeniler 39 / 160
  • Ticaret 0, (%0)
Zaten trigger olmaz buseferde procedure yazman lazım. Tsql Procedure araştır
Sunephert

kişi bu mesajı beğendi.

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Mesajlari neye göre listeliyorsunuz? Tavsiyem zamana göre kısıtlayıp listeleyin. "mesaj_tarih <= time()" diye bir koşul koyun. Zaten birbirine msj atan kimse şimdiki tarihten ileri bir tarihe mesaj atmaz. Siz de üye kaydoldugu anda onun adına ileri tarihli (time() + 180) bir mesaj kaydedersiniz olur biter. Kaydolduktan 3dk sonra mesajı görünür olur.

Hatta mesajlasma sistemini de geliştirebilirsiniz böyle. Üyeler "planlanmış mesaj" özelliğine kavuşabilir ve birbirlerine ileri tarihli mesajlar da atabilir vs.. :)

Edit: imla
Sunephert

kişi bu mesajı beğendi.

wmaraci
wmaraci

Sunephert Sunephert WM Aracı Kullanıcı
  • Üyelik 14.11.2019
  • Yaş/Cinsiyet 28 / E
  • Meslek Serbest
  • Konum Bursa
  • Ad Soyad H** M**
  • Mesajlar 20
  • Beğeniler 7 / 0
  • Ticaret 0, (%0)
Tsql Procedure araştırıyorum hemen. Teşekkürler.
 

 

webmavie webmavie Web hayatım Kullanıcı
  • Üyelik 14.03.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web yazılımcı
  • Konum Azerbeycan
  • Ad Soyad Ş** M**
  • Mesajlar 311
  • Beğeniler 37 / 22
  • Ticaret 5, (%100)
Phpyle kayit olunan zaman bir session baslatip zaman saklatin veya veritabaninda daha sonra kullanıcı sayfada olduğu zaman eger sakladigimiz zamandan 3dakikadan fazla olursa mesaji gostersin.
Sunephert

kişi bu mesajı beğendi.

Yazılımcılar geleceğin sihirbazlarıdır - Gabe Newell

Sunephert Sunephert WM Aracı Kullanıcı
  • Üyelik 14.11.2019
  • Yaş/Cinsiyet 28 / E
  • Meslek Serbest
  • Konum Bursa
  • Ad Soyad H** M**
  • Mesajlar 20
  • Beğeniler 7 / 0
  • Ticaret 0, (%0)
Tsql Procedure'de zamanlama mümkün mü gerçekten.
 

 

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)
Ve tanrı cron'u yarattı (linux, kernel s32:64)

Cronjob kullanarak zaman ayarlı sorunları çözebilirsiniz. Üstelik bütün hosting firmaları desteklediği için shared hostinglerde dahi sorun olmaz.

Hocam sitede tüm zaman ayarlı işlerinizi çözmek için bir tablo oluşturun. Mesela adı cronjobs olsun. Icınde iş, bilgi ve zaman adlı sütunlar olsun.

Bir cron job oluşturun 10 saniyede bir veritabanını kontrol etsin. Yapılması gereken zamanlanmış bir iş varsa yapsan.

örnek:

iş: SEND_WELCOME_MESSAGE
bilgi. [user => "newuser", message=>"welcome" ] (serialize edilmiş bir array saklayabilirsiniz.)
zaman: 2019-10-23 18:24:30 (işlemin ne zaman gerçekleşeceğini belirten zaman, kullanıcı kayıt olurken 3 dakika ilerisinin datetime bilgisini kaydedin)

daha sonra cron işleri için bir dosya oluşturun (10 snaiyede bir çalıştırılacak olan) sürekli kontrol etsin bu zamanlı işleri, zamanı gelen iş varsa işlemi gerçekleştirsin.
 

 

berkaycatak berkaycatak Kendi Çapında Geliştirici Kullanıcı
  • Üyelik 15.09.2014
  • Yaş/Cinsiyet 23 / E
  • Meslek Yazılımcı
  • Konum İstanbul Anadolu
  • Ad Soyad B** Ç**
  • Mesajlar 1242
  • Beğeniler 1278 / 406
  • Ticaret 9, (%100)
Allah aşkına manyak mısın verdim ya kodu niye araştırıyorsun kaç gündür
 

 

SancarSaran SancarSaran WM Aracı Kullanıcı
  • Üyelik 14.01.2018
  • Yaş/Cinsiyet 52 / E
  • Meslek Programcı
  • Konum İzmir
  • Ad Soyad S** S**
  • Mesajlar 319
  • Beğeniler 4 / 111
  • Ticaret 0, (%0)
En basiti bu tür işler için bir tablo yapıp kayıt girmek,

Kayıt mesajı ve gösterim tarihini ve gösterilip gösterilmediğini tutacak.

Ayrıca mesaj kullanıcıya javascript timeout şeklinde gösterilecek. gösterim tamamlandıktan sonra bir ajax requesti ile sessiondan silinecek, veritabanına da gösterildi diye işaret edilecek.

Veri kayıt edilirken, gösterimi yapacak javascript fonskiyonu oluşturulup sessiona kayıt edilecek aynı zamanda sayfaya eklenecek. içinde bir timer olup geriye doğru sayacak. Eğer zaman limiti sona erirse, Mesajı gösterecek ve ajax requesti ile diğer işleri hallecek.

Böylece eğer ziyaretçi o sayfada kalırsa mesajı görebilecek.

eğer mesaj gösterilmeden ziyaretçi başka sayfalarda gezerse sessiondan gelen javascript fonksiyonu ile her sayfada geri sayım devam edecek.

Veya dersenki, adam 3 dakikada dan önce siteden çıkarsa, ben ona mail, sms, sesli mesaj atayım. o zaman backendde bir daemon olacak, bu işleri kayıt edecek vakti geçmiş mesajları kayıtlı olan iletşim kanalı üzerinden gönderecek.

Cronla da olabilir, ancak sağlıklı olmaz.
Sunephert

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al