Php Üye Oturumuna Göre Listeleme Nasıl Yapılır
Arkadaşlar merhaba oturum açan kişinin bilgilerini kullanıcı adına göre nasıl listeletebilirim? Aşağıdaki gibi yazdığımda bütün üyeler listeleniyor çünkü.
$kullanicilarigoster = $db->query("SELECT kullanicilar_adisoyadi, kullanicilar_kullaniciadi, kullanicilar_eposta,
kullanicilar_telefon, kullanicilar_dogumtarihi FROM kullanicilar WHERE kullanicilar_kullaniciadi");
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (9)
Kodlar çalıştı. Peki sormak istediğim bir şey daha var. Neden "limit" i "1" verdik? Bir de "execute" alanında neden "array" kullandık? Daha doğrusu "execute" alanında ne yaptığımızı tam olarak anlayamadım. Anlatabilirseniz sevinirim.
İki adet kullanıcı var veritabanında. Dediğiniz gibi yaptım ve sonuç şu şekilde. Aşağıdaki resme bakabilirsiniz. Bu arada kodları da kendime göre şöyle uyarladım.
$kullanicilarigoster = $db->prepare("SELECT * FROM kullanicilar WHERE kullanicilar_id=:id LIMIT 1");
$kullanicigoster = $kullanicilarigoster->execute(array(":id"=>$_SESSION['admin']['kullanicilar_id']));
$kullanicigoster = $kullanicilarigoster->fetch(PDO::FETCH_ASSOC);
foreach ($kullanicigoster as $kullanici) {
<div class="adi-div">Adı : <?php echo $kullanici['kullanicilar_adisoyadi']; ?> </div>
<div class="cinsiyet-div">Cinsiyet : <?php echo $kullanici['kullanicilar_cinsiyet']; ?> </div>
<div class="eposta-div">E-Posta : <?php echo $kullanici['kullanicilar_eposta']; ?> </div>
<div class="kullaniciadi-div">Kullanıcı Adı : <?php echo $kullanici['kullanicilar_kullaniciadi']; ?> </div>
<div class="sifresi-div">Şifresi : <?php echo $kullanici['kullanicilar_sifre']; ?> </div>
<div class="telefon-div">Telefon : <?php echo $kullanici['kullanicilar_telefon']; ?> </div>
örnek bırakayım
$query = $db->prepare("SELECT * FROM kullanici where id=:id LIMIT 1");
$kullanici = $query->execute(array(":id"=>$_SESSION['kullanici']['id'] 'Kullanıcı id nerden geliyosa buraya onu yazdır' ));
$kullanici = $query->fetch(PDO::FETCH_ASSOC);
verileri yazdırmak içinde
<div class="kullanici">
<?= $kullanici['ad']; ?>
<?= $kullanici['cinsiyet']; ?>
<?= $kullanici['kadi']; ?>
<?= $kullanici['pass']; ?>
<?= $kullanici['tel']; ?>
</div>
Tekrar merhaba. Önceden de yazdığım gibi, Hesabım sayfasını düzenlemeye çalışıyorum. Kullanıcı var mı yok mu onun kontrolünü yaptırmıyorum. Paylaşılan örnekler anladığım kadarıyla kullanıcı var mı yok mu onu kontrol ediyor. Yapmak istediğim sayfanın bir örneğini koyuyorum. Resim aşağıda. "Aysel" kullanıcısı girmişse "aysel'in"; "ahmet" kullanıcısı girmişse "ahmet" in bilgilerinin çıkması lazım.
https://www.hizliresim.com/pjsm1my
Selamlar,
Giriş yapmış kullanıcının id sini nerede tutuyorsunuz ? eğer SESSİON içinde ise şu kullanımı deneyin
ayrıca WHERE kullandığınız yerde query methodu değil de prepare kullanın daha güvenli olur.
$query = $db->prepare("SELECT * FROM kullanicilar WHERE kullanicilar_kullaniciID=:id LIMIT 1");
$query->execute(array(
"id" => $_SESSION['id']
));
$row = $query->fetch(PDO::FETCH_ASSOC);
if ($row) {
print_r($row);
} else {
echo "Böyle bir kullanıcı bulunamadı!";
}
Ben kullanıcı var mı yok mu, onu bulmaya çalışmıyorum. Oturum kontrollerini yaptım zaten. Mesela ben admin olarak oturum açtım. Admin kullanıcısına ait bilgilerin, hesabım sayfasında çıkması lazım. Telefon, mail, şifre, kullanıcı adı, gerçek ad-soyad gibi. Onları listeletmeye çalışıyorum. Ama listelettiğimde "admin" kullanıcısıyla oturum açmış olsam dahi diğer kullanıcıların bilgileri de listeleniyor, yukarıdaki kod ile.
Merhaba,
$query = $db->prepare("SELECT * FROM kullanicilar WHERE kullanicilar_kullaniciadi=:kullanicilar_kullaniciadi");
$query->execute(array(
"kullanicilar_kullaniciadi" => $kadi
));
$row = $query->fetch(PDO::FETCH_ASSOC);
if ($row) {
print_r($row);
} else {
echo "Böyle bir kullanıcı bulunamadı!";
}
Bu kodların çalışması gerekiyor.
Sorunum devam ediyor. Cevap verecek yok mu acaba arkadaşlar? Bu arada "where" alanına "id" verdim ve bütün kayıtlar geldi ama yine oturum sahibine göre getirtemedim.