Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Session Bilgilerini kullanmak.

Konu, 'PHP' kısmında pcmemo tarafından paylaşıldı.

  1. pcmemo

    pcmemo Yeni Üye

    Kayıt:
    5 Mart 2018
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    Arkadaşlar merhaba, ben php öğrenme taliplisi olarak elimden geldiğince kod örnekleri ile birşeyler yapmaya çalışıyorum. Öyle ki artık takıldığım yerler rüyalarıma giriyor.

    Şu an ki sıkıntılarımdan bir tanesi kullanıcı şifre ile giriş yaptığında kullanıcı adını ekrana yazdırabiliyorum. Ama ben adsoyad, uye_id, uye_yetki gibi bilgileri oturum başlattığım her yerde kullanabilmek istiyorum.

    BU scripti intranette (lokal ağda) kulanıp şifresi ile giriş yapan herkesin sadece kendi girdiği kayıtları görmesini istiyorum, bunu kayıt eklerken kendi uye_id'ni tabloya kayıtla birlikte yazdırdığımda yapabilirim sanıyorum. uye_yetki değişkenini kullanacağım yerlerse zaten malum kim nereye girsin kim nereye giremesin muhabbeti.

    Bu anlamda kullanabileceğim kod örnekleri paylaşabilirseniz çok mutlu olurum. Şimdiden herkese teşekkür ediyorum.
     
  2. B.pasali

    B.pasali Üye

    Kayıt:
    25 Haziran 2008
    Mesajlar:
    78
    Beğenilen Mesajlar:
    1
    pcmemo kardeşim bunu kod olarak vermek yerine sana şöyle bir mantık olarak anlatayım inş yola çıkarak kendin yapabilirsin ve daha iyi öğrenirsin...

    Kullanıcı giriş işlemleri

    kullanıcı içeri girdiğin an oluşturduğun bir session kul id var diyelim ve login başarılı artık adam içerde
    şimdi bununla yapabileceklerin

    elinde giren kişinin kul id si var... sayfalarda ki izinlerinden nereleri görebileceğini ayarlarsın
    sonra herhangi bir sayfada kullanıcı bilgileri lazımsa elinde ki session kul id ile tablona baglanip kullanıcı verilerini çekebilirsin vs..

    kullanıcı girdikten sonra kul id elinde tutman yeterli bu işlemleri yapman için
     
  3. pcmemo

    pcmemo Yeni Üye

    Kayıt:
    5 Mart 2018
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    Cevap için teşekkür ederim B.pasali. Mantık tarafını kurgulayabiliyorum. Ama kod tarafım zayıf. MAlum bu meret bir noktalı virgül yüzünden adamı saatlerce oyalayan bir şey. Bana "elinde ki session kul id ile tablona baglanip kullanıcı verilerini çekebilirsin vs.." kısmının kodlaması lazım. Bunu yazarken kafamda bir ampul yandı ama dediğim gibi noktalar virgüller kabus oluyor.

    Aşağıdaki gibi bir loginkontrol.php dosyam var login.php den post edilen verilerini kontrol ediyor.

    Bu verilere göre diğer sayfalarda bilgileri çekmek için yazmama gereken kod örneği gerekli.

     
  4. dinlex

    dinlex Aktif Üye

    Kayıt:
    23 Aralık 2016
    Mesajlar:
    341
    Beğenilen Mesajlar:
    88
    Şehir:
    Hatay
    En alttaki session'ın altına bunu koymanız yeter;
    $_SESSION['adsoyad'] = $uyebilgi['adsoyad];

    uye_id ve uye_yetki için de aynı şekilde birer tane satır eklenecek böyle
     
  5. dinlex

    dinlex Aktif Üye

    Kayıt:
    23 Aralık 2016
    Mesajlar:
    341
    Beğenilen Mesajlar:
    88
    Şehir:
    Hatay
    $_SESSION[''] sitenin her yerinde kullanabileceğiniz bir değişkendir. Normal değişkenler gibi veri atayacaksınız sadece. Tek fark köşeli parantez içine yazacağınız isim başka session'da olmasın.

    Örneğin:
    $_SESSION['meyve'] = "elma"; yaparsanız, $_SESSION['meyve'] değişkenine elma değeri vermiş olursunuz. Bundan sonra bu değişkenin değeri hep elma olur. Ama bundan sonra $_SESSION['meyve'] = "armut"; yaparsanız artık elmayı siler sadece armutu tutar elinde. Elmayı silemisini istemiyorsanız en basitinden $_SESSION['meyve2'] şeklinde yeni bir session değişken oluşturup ona $_SESSION['meyve2'] = "armut"; şeklinde armutu vermek olur. Böylece istediğiniz zaman $_SESSION['meyve'] ile elmayı, istediğiniz zaman da $_SESSION['meyve2'] ile armutu çekersiniz. İki değişkeniniz olur yani. Yukarıdaki kod aynı böyle işte.
    Birine $_SESSION['uye'] ile kullanıcı adını atadık, diğerine $_SESSION['adsoyad'] ile adsoyadı atadık. İsyerseniz bu şekilde 10 tane de yapabilirsiniz ama kullanılmayacaksa boşu boşuna sistemi yormanın alemi yok.
     
  6. pcmemo

    pcmemo Yeni Üye

    Kayıt:
    5 Mart 2018
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    3 kelime ile "Allah razı olsun". Beynimi yanmaktan kurtardın. Benzer şeyler denedim ama, bilinçsiz deneyince bir nokta yüzünden bile yanlış yolda olduğunu düşünüp geriye dönüyor insan.

    şimdi Rehber modülünde her kullanıcı kendi eklediği kayıtları görsün sadece diye bir sorgu yazmam gerek. Aşağıdaki sorgu da en sondaki 1 normalde session açan kişinin user_id değeri. Rehberde de böyle bir sütun oluşturup session user_id si 1 olan kişinin her rehber kaydında user_1 sütununa 1 yazdırıyorum. Ve yazmaya çalıştığım aşağıdaki sorgu ile sadece user_id sütunu ile oturum user_id değeri eşleşen verileri görsün istiyorum. Cümel uzun oldu gibi ama kısaca sormak gerekirse aşağıdaki sorgunun sondaki 1 yerine kullanıtıcının oturumuna ait user_id nasıl yazdırabilirim.


    Hemen alttaki gibi yaptığımda user_id 1 olarak rehbere kayıt edilenleri listeleyebiliyorum. Ama bu 1 kullanıcının oturum user_id değeri olduğu için 1 sayısını oturumdan alsın istiyorum.
    Aşağıdaki gibi denedim sonuç alamadım.

     
  7. Yilmazx

    Yilmazx Üye

    Kayıt:
    16 Haziran 2017
    Mesajlar:
    28
    Beğenilen Mesajlar:
    10
    Şehir:
    istanbul
    İşin güvenlik tarafı için ben de sunucu tarafını anlatayım;

    Bir sunucudaki web sitesine bağlanan her kullanıcı için kullanıcıların ulaşamayacağı yerde birer text dosyası oluşturulur ve içerisine sizin oturum bilgileriniz yazılır. Sunucudan her sayfa talebinizde önce bu dosya okunur ve o dosyaya yazılan oturum bilgileriniz yaptığınız işleme atanır.

    Buraya kadar bir sorun yok, ama diyelim ki, bir yönetim paneline oturum açılıp açılmadığını $_SESSION['id'] ile kontrol ediyorsunuz. Eğer bu değişken varsa oturum açmış kabul ediyorsunuz.

    Aynı sunucudaki bir başka sitenizde de bire bir aynı kontrolü yaparsanız kullanıcı sanki orada da oturum açmış gibi kabul edilir. Çünkü aynı oturum bilgileri orada da kullanılacaktır.
     
  8. Yilmazx

    Yilmazx Üye

    Kayıt:
    16 Haziran 2017
    Mesajlar:
    28
    Beğenilen Mesajlar:
    10
    Şehir:
    istanbul
    $query = "SELECT * FROM `tbl_rehber` WHERE user_id='$_SESSION['user_id']' ";

    LIKE benzer anlamına gelir, bu yapmak istediğiniz sorgu için yanlış olur.
     
  9. pcmemo

    pcmemo Yeni Üye

    Kayıt:
    5 Mart 2018
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    Yılmazx teşekkür ederim. Scriptim intranette lokal ağda çalışacak. Şu an sadece localhostte çalışıyorum. 2. mesajınızda verdiğiniz sorgu satırını kullandığımda rehberi listeleyen dosyam beyaz kalıyor. Tırnak vs şeylerle oynadım düzelmedi. Alternatif bir şekli var mı bu sorgunun.
     
  10. Yilmazx

    Yilmazx Üye

    Kayıt:
    16 Haziran 2017
    Mesajlar:
    28
    Beğenilen Mesajlar:
    10
    Şehir:
    istanbul
    çok pardon aslında benim hatam olmuş, içerideki tek tırnakları da dikkate almak gerekirdi.

    $query = "SELECT * FROM `tbl_rehber` WHERE user_id= '". $_SESSION['user_id'] ."' ";

    veya

    $query = "SELECT * FROM `tbl_rehber` WHERE user_id = '$_SESSION[user_id]' ";

    Her iki kullanım da kabul edilir, ama teknik olarak ilk hali daha doğrudur.

    Bir de tasarım aşamalarında scriptinizin ilk satırlarına aşağıdaki kodu eklerseniz en azından neden hata verdiğini görmüş olursunuz

    error_reporting(E_ALL^E_NOTICE^E_STRICT);
    ini_set('display_errors', 1);
     
  11. pcmemo

    pcmemo Yeni Üye

    Kayıt:
    5 Mart 2018
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    Çok teşekkür ederim. Harika oldu. Allah razı olsun. Farklı başlıklar altında takıldığım şeyleri soracağım. Vaktiniz olur da elinizden geldiği kadar cevaplarsanız minnettar kalırım. Saygılar.