Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!

1Beğeni
  • 1 Yazan tarkan3261

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > PHP

session bilgisini alamıyorum

  #1  
Okunmamış 08 Nisan 2021, 22:25
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 25 Mart 2021
Cinsiyet: Erkek
Meslek: programcı
Konum: Elazığ
Ad, Soyad: Ta... Ay...
Mesajlar: 27
Beğeniler: 5 / 1
Ticaret: 0, 0%
merhaba, amacım; sorgulama yaptığım anda "kullaniciId" si $_SESSİON['kullaniciId'] a eşit olan kişiler varsa eğer işte o kişi bilgisinin yanında , yani $a dizi değişkenine array_push yöntemiyle 1 sayısını ekleyip göndermek. ama bir türlü diğer sayfada tanımladığım $_SESSİON['kullaniciId'] değerini bu sayfada alamıyorum, neden, nerede hata yapıyorum? yani elimde bir dizi var; o dizinin sıfırıncı indekse karşı gelen değer "kullaniciId " dir, bunu alıyorum ve diyorum ki; bu kullaniciId eğer aktif ise yani oturum açmış ise, bu diziye ekstradan 1 sayısını ekleyip ilgili yere göndermek amacım, ama dediğim gibi o an açık olan $_SESSİON['kullaniciId'] bilgisini çekemiyorum , yardımcı olab,ilir misiniz, teşekkürler.
Kod:
<?php
 session_start();

 include ("baglan.php");

if($_POST){
	
$birim =$_POST['birimGonder'];

	$sql="select kullaniciId, adiSoyadi, unvan  from kullanicilar  WHERE birimId=(select birimId from birimler where birimAdi='$birim' )";
  //$_SESSİON['oturum']=true;
$oturum=$_SESSİON['kullaniciId'];

 $json=array();
$sorguKisiAl= mysqli_query($baglan,$sql); 

  
while($a=mysqli_fetch_array($sorguKisiAl)) {
if ($a[0]==$_SESSİON['kullaniciId']) {
array_push($a,1);
}

 $json[]=$a;
	}
 }
 
echo json_encode($json);

?>
  #2  
Okunmamış 08 Nisan 2021, 22:57
ÖmerGünay Adlı Üyenin Avatarı
https://www.omergunay.net
 
Üyelik Tarihi: 15 Mayıs 2015
Yaş / Cinsiyet: 30 / Erkek
Ad, Soyad: Öm... Gü...
Mesajlar: 998
Beğeniler: 267 / 150
Ticaret: 12, 100%
tarkan3261 detaylı bakmadım ama gözüme ilk çarpan SESSİON yazmızşın. Büyük İ olmuş. Onu SESSION yapıp bi dene istersen.
Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
  #3  
Okunmamış 09 Nisan 2021, 03:53
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 25 Mart 2021
Cinsiyet: Erkek
Meslek: programcı
Konum: Elazığ
Ad, Soyad: Ta... Ay...
Mesajlar: 27
Beğeniler: 5 / 1
Ticaret: 0, 0%
İlginiz için teşekkür ederim sayin ÖmerGünay , ben de farkındayım da ama şimdiye kadar bu sekilde bir sorun çıkarmadı. Ya aslinda benim tam olarak yapmak istediğim şey şu, veritabanından bir kişinin kaydını çekip onun o anda session , yani oturumunun açık olup olmadığını kontrol etmek, bunu nasıl yapabilecegimin algoritmasini biliyorum ama koda dökemedim, nasıl olabilir acaba?
Konu tarkan3261 tarafından (09 Nisan 2021, 04:53 ) değiştirilmiştir.
  #4  
Okunmamış 09 Nisan 2021, 09:07
ÖmerGünay Adlı Üyenin Avatarı
https://www.omergunay.net
 
Üyelik Tarihi: 15 Mayıs 2015
Yaş / Cinsiyet: 30 / Erkek
Ad, Soyad: Öm... Gü...
Mesajlar: 998
Beğeniler: 267 / 150
Ticaret: 12, 100%
tarkan3261 öyle bişey hiç yapmadım ben yapılıyor mu onda da emin olamadım. Ne için böyle bir işlem yapmak istiyorsunuz ?
Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
  #5  
Okunmamış 09 Nisan 2021, 09:46
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 25 Mart 2021
Cinsiyet: Erkek
Meslek: programcı
Konum: Elazığ
Ad, Soyad: Ta... Ay...
Mesajlar: 27
Beğeniler: 5 / 1
Ticaret: 0, 0%
Amacım online kisileri tespit edip , kisiler listesinde onların string renk değerlerini yeşil yapmak. Aslinda bir yöntem var ve çoğu makalede de ondan bahsediyor ama o yöntemde kod fazlalığı ve trafik yoğunluğu oluşur, performansı etkiler. Bahsedilen yöntemde kullanıcıların olduğu tabloya "durum" adında bir sutun ekliyoruz, kisi giriş yapıp session atandigi zaman kişinin id si üzerinden o yeni oluşturulan alana update yoluyla örneğin 1 sayısını ekliyoruz, sonra o alandaki degeri if else kontrolü ile alıp kisi listesindeki if else sırtından geçirip 1 olanların string değerlerinin rengini örneğin yeşil yapıyoruz. Iste bu sekilde olursa session global degisken kullanmanın bir anlami kalmıyor ve yoğunluğundan başka bir şey degil, ama benim yapmak istediğim en kisa yol, gelin görün ki teknik olarak mümkün olan düşüncemi karşılayacak kodu bulamadim
  #6  
Okunmamış 09 Nisan 2021, 12:24
Avatar Seçilmemiş
MW Aracı
 
Üyelik Tarihi: 03 Nisan 2019
Yaş / Cinsiyet: 26 / Erkek
Meslek: .
Konum: Trabzon
Ad, Soyad: Ab... Ka...
Mesajlar: 824
Beğeniler: 345 / 250
Ticaret: 2, 100%
Sizin kafanızdaki durum öyle sandığınız gibi olmuyor, benim session ım açık, ben online olduğumu görebiliyorum ama başka kullanıcı bunu bilemez, o da sadece kendinin online olduğunu görür. Kimlerin online olduğunu öğrenebilmek için herkese açık bir depolama alanında saklanması lazım. Session sadece o oturuma özgü bir şey
  #7  
Okunmamış 09 Nisan 2021, 13:08
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 25 Mart 2021
Cinsiyet: Erkek
Meslek: programcı
Konum: Elazığ
Ad, Soyad: Ta... Ay...
Mesajlar: 27
Beğeniler: 5 / 1
Ticaret: 0, 0%
"Session sadece oturumu açan kişiye özgü bir sey" eyvallah Abdullah hocam, bu cumle benim için son nokta oldu, demekki diger yöntemi kullanmak zorundayım, cok teşekkür ederim cevaplar için, yalnız bi sekilde başka bi yolunu bulursam burada , arayanlar için çok alakalı bir başlık altında paylaşacağım inşallah, iyi çalışmalar tekrar teşekkür ler.
  #8  
Okunmamış 09 Nisan 2021, 13:35
Avatar Seçilmemiş
MW Aracı
 
Üyelik Tarihi: 03 Nisan 2019
Yaş / Cinsiyet: 26 / Erkek
Meslek: .
Konum: Trabzon
Ad, Soyad: Ab... Ka...
Mesajlar: 824
Beğeniler: 345 / 250
Ticaret: 2, 100%
Rica ederim, size veri tabanından başka bir yol önereyim, biraz dolambaçlı olabilir ama veri tabanını kullanmaz.
Bir tane online.json diye dosya oluşturun. Bu dosyanın içeriğini en başta key olarak veri tabanındaki bütün kullanıcılar, value olarak timestamp verin. Bunu veri tabanından çekerek dinamik şekilde yapabileceğiniz gibi ilk sefere özgü statik şekilde de yapabilirsiniz.
Bir php dosyasında şu şekil bir şey yapmanız lazım yani;
PHP- Kodu:
$users = [
'kullanıcı_id1' => time(),
'kullanıcı_id2' => time(),
..
..
];
file_put_contents(__DIR__ DIRECTORY_SEPARATOR 'online.json'json_encode($usersJSON_UNESCAPED_UNICODE)); 
Kullanıcıları döngü ile çekip ekleyin orası size kalmış.

Sayfanın başında bu json dosyasını alın, array e çevirin, o an oturum açmış kişinin id değerini şimdiki zaman damgasıyla güncelleyin, bu işlemi kullanıcının her tıkladığı sayfanın üstüne gelecek şekilde ayarlayın. Online kontrolü yaparken de o kişinin son aktivitesi şimdiki zamandan atıyorum 5 dk eskiyse offline yeni ise online olsun. Online.json dosyasını da yeni kullanıcı kayıt olma ihtimaline göre 15 dk bir cron ile kontrol edip veri tabanına eklenen yeni kullanıcı varsa siz de o dosyaya onu eklersiniz. Fikir bu, detayları şekillendirmek size kalmış. Ama ne denli mantıklı orası meçhul
  #9  
Okunmamış 09 Nisan 2021, 15:07
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 25 Mart 2021
Cinsiyet: Erkek
Meslek: programcı
Konum: Elazığ
Ad, Soyad: Ta... Ay...
Mesajlar: 27
Beğeniler: 5 / 1
Ticaret: 0, 0%
Cok teşekkür ederim sayin Abdullah hocam, usenmemissiniz epey bi yazıp yol gostermissiniz, de ben daha yeniyim, anlattığınız olaylara terimlere yabancıyım, ama gün gelir bunları da öğrenirim, en iyisi veritabani yöntemini kullanayım şimdilik. çok teşekkür ediyorum, isiniz rast gelsin, iyi çalışmalar.
Abdullahx bunu beğendi.
Cevap Yaz Favorilerime Ekle

1113x90

Bu Alana Reklam Ver



Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > PHP


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 20:14.