lostyazilim
tr.link

Her bir kullanıcının diğer her bir kullanıcıya sadece 1 mesaj hakkının olduğu sistem ?

6 Mesajlar 918 Okunma
acebozum
tr.link

dzxmedia dzxmedia Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 25.06.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad A** A**
  • Mesajlar 9
  • Beğeniler 9 / 1
  • Ticaret 0, (%0)
Arkadaşlar
Web siteme geçici bir alt etki alanı yaratarak arkadaşlarım arasında kısa süreli gerekli olan bir site yapıyorum sitenin büyük kısmı bitti ama bir özellik ekleyemedim.
Özellik şu;
Her bir kullanıcının diğer her birer kullanıcıya sadece bir mesaj hakkı olmasını istiyorum 1 kere yazıp bir daha yazmak isteyince sitenin "Zaten sen bu adama yazdın" gibi bir uyarı vermesini yeni kayıt oluşturmayı engellemesini istiyorum

Db'de yazilar ve kullanicilar diye 2 tablom var inner join le kullanici_id ve kullanici_idsent diye bağladım
Herkesin yazdığı bir tabloda toplanıyor kullanıcılar where koşuluyla sadece kendilerinin başkalarına yazdığı şeyleri görebiliyor. Ama Aynı kişiye 10 kere yazabiliyor ben sadece 1 kere yazabilmesini istiyorum nasıl yapabilirim?
Teşekkürler
 

 

elektronikssl
webimgo

mfgrbz mfgrbz Zurna da bir çalgıdır Kullanıcı
  • Üyelik 10.06.2018
  • Yaş/Cinsiyet 38 / E
  • Meslek Yazılım & Grafik
  • Konum İzmir
  • Ad Soyad M** G**
  • Mesajlar 124
  • Beğeniler 15 / 54
  • Ticaret 0, (%0)
Veritabanına şöyle bir tablo açıyorsunuz "mesaj_hakki", 'id, kim, kime, tarih' sütunlarını açın.
Akabinde biri mesaj göndereceğinde kontrol edin, kim gönderen ile eşit aynı zamanda kime de gönderilecek kişiye eşit ise uyarı ver. Değilse mesajı gönder ve buraya bir satır ekle.
Olay bu kardeşim.
Mesajların olduğu tabloda arama da yaptırabilirsin bu mantıkla. Gönderici ve alıcıyı arayacak bulursa göndermeyecek.
owuzan dzxmedia

kişi bu mesajı beğendi.

dzxmedia dzxmedia Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 25.06.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad A** A**
  • Mesajlar 9
  • Beğeniler 9 / 1
  • Ticaret 0, (%0)
Cevap için çok teşekkürler,uygulayacağım.


Edit : Bir kez daha teşekkür ederim rowCount la saydırarak hallettim :)
 

 

xGhos xGhos Yazılım Geliştirici Kullanıcı
  • Üyelik 30.01.2014
  • Yaş/Cinsiyet 27 / E
  • Meslek YAZILIM & SEO
  • Konum İstanbul Anadolu
  • Ad Soyad O** T**
  • Mesajlar 466
  • Beğeniler 38 / 75
  • Ticaret 5, (%100)
Yeni tabloya gerek yok mesajı gönderirken query ile sorgulatacaksınız daha önce gönderen ve alıcı id si mevcut mu diye mevcutsa izin vermeyeceksiniz göndermeye
 

 

wmaraci
wmaraci

dzxmedia dzxmedia Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 25.06.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad A** A**
  • Mesajlar 9
  • Beğeniler 9 / 1
  • Ticaret 0, (%0)
if(isset($_POST['yaziekle'])) {
$yazisor=$db->prepare("SELECT * FROM yazilar where kullanici_id=:id and kullanici_idsent=:idsent");
$yazisor->execute(array(

'id' => $_POST['kullanici_id'],
'idsent' => $_POST['kullanici_idsent']

));

$sor=$yazisor->rowCount();


if (1>$sor) {

$ekle=$db->prepare("INSERT INTO yazilar SET

kullanici_id=:kullanici_id,
kullanici_idsent=:kullanici_idsent,
yazi_text=:yazi_text");
$kaydet=$ekle->execute(array(
'kullanici_id' => $_POST['kullanici_id'],
'kullanici_idsent' => $_POST['kullanici_idsent'],
'yazi_text' => $_POST['yazi_text']));


if ($kaydet) {
header("Location:../yazilar.php?durum=ok");
}

else {
header("Location:../yazilar.php?durum=no");
}


}else{
header("Location:../yazilar.php?durum=multisend");
}



}


bu şekilde hallettim
 

 

BHA BHA bhamedya.com Kullanıcı
  • Üyelik 23.07.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek Aşçı, Makale Yazarı
  • Konum İstanbul Avrupa
  • Ad Soyad B** A**
  • Mesajlar 1400
  • Beğeniler 460 / 461
  • Ticaret 20, (%100)
Her şey bir harf kod uzaklıkta. Sorunu hallettiniz sanırım. İşimize yarar alalım bizde arşive
dzxmedia

kişi bu mesajı beğendi.

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al