-
Üyelik
25.03.2021
-
Yaş/Cinsiyet
45 / E
-
Meslek
programcı
-
Konum
Elazığ
-
Ad Soyad
T** A**
-
Mesajlar
58
-
Beğeniler
3 / 7
-
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.
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);
?>
-
Üyelik
15.05.2015
-
Yaş/Cinsiyet
33 / E
-
Meslek
PHP Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ö** G**
-
Mesajlar
1207
-
Beğeniler
382 / 381
-
Ticaret
16, (%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)
-
Üyelik
25.03.2021
-
Yaş/Cinsiyet
45 / E
-
Meslek
programcı
-
Konum
Elazığ
-
Ad Soyad
T** A**
-
Mesajlar
58
-
Beğeniler
3 / 7
-
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?
-
Üyelik
15.05.2015
-
Yaş/Cinsiyet
33 / E
-
Meslek
PHP Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ö** G**
-
Mesajlar
1207
-
Beğeniler
382 / 381
-
Ticaret
16, (%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)
-
Üyelik
25.03.2021
-
Yaş/Cinsiyet
45 / E
-
Meslek
programcı
-
Konum
Elazığ
-
Ad Soyad
T** A**
-
Mesajlar
58
-
Beğeniler
3 / 7
-
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
-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%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
-
Üyelik
25.03.2021
-
Yaş/Cinsiyet
45 / E
-
Meslek
programcı
-
Konum
Elazığ
-
Ad Soyad
T** A**
-
Mesajlar
58
-
Beğeniler
3 / 7
-
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.
-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%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;
$users = [
'kullanıcı_id1' => time(),
'kullanıcı_id2' => time(),
..
..
];
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'online.json', json_encode($users, JSON_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 :)
-
Üyelik
25.03.2021
-
Yaş/Cinsiyet
45 / E
-
Meslek
programcı
-
Konum
Elazığ
-
Ad Soyad
T** A**
-
Mesajlar
58
-
Beğeniler
3 / 7
-
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.
1 kişi bu mesajı beğendi.