Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Garip Bir Session Hatası karşılaşan var mı ?

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

  1. Ferhat Ozdemir

    Ferhat Ozdemir Daimi Üye

    Kayıt:
    14 Nisan 2006
    Mesajlar:
    3,268
    Beğenilen Mesajlar:
    3
    Meslek:
    Electronics and Computer Engineer
    Şehir:
    Texas
    Merhaba arkadaslar
    PHP:
    <?php session_start();
    $kullanici $_SESSION["kullanici"];
    $sifre      $_SESSION["sifre"];
    //vs vs vs vs
    ?>
    yukarıdaki kod basit bir oturumdan veri alma kodu. (verileri daha onceden oturuma kayıt olmuş kabul ediyorum).

    herşey normal ama gel gelelim sayfamız kafası esiyor verileri alıyor kafası esiyor almıyor çözemedim bir türlü :(

    daha önce karşılaşan var mı ? böyle bir sorunla
    Not: Localde düzgün...
     
  2. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    normalde baslatılan oturum her yere tasınabilir. session_start(); if($_SESSION['username']) { // gezinme kodları } else { header ('Location:login.php'); } bom karakter sorunu olsa localde de sorun olur. php .ini de olsa sorun.bu seferde senin dedigine ters olur.yeri geliyor calısıyor yeri geliyor calısmıyor.her sayfanın basında yine de tedbiren ob_start olsun diyorum ben blue sana.
     
  3. Ferhat Ozdemir

    Ferhat Ozdemir Daimi Üye

    Kayıt:
    14 Nisan 2006
    Mesajlar:
    3,268
    Beğenilen Mesajlar:
    3
    Meslek:
    Electronics and Computer Engineer
    Şehir:
    Texas
    valla Alicim denemedik yol birakmadim her sekil denedim ama yine sonuc aynı. sanırım sorun sunucuda. Ben işimi farklı şekilde hallettim ama yine de sorunu merak ediyorum.
    bu şekilde sorunu halletim sence uygun mu ?

    giriş yapan kişi doğru bilgiler ile giriş yaptigi an sessiona kadi. sifre, gibi bilgileri sakliyorum ayni zamanda vt de online diye tablomda kadi,sifre,oturumid degerlerini tutuyorum.

    sorgu ise su sekilde; once karşılaştırma icin uyeler tablom sorgulanıyr uye varmı yokmu gibisinden. daha sonra uye var ve bilgiler dogru ise login işleminden sonra sessiona kadi,sifre bilgileri giriliyor.
    Bir include dosyam online tablosunu sessionda kayitli olan kadi,sifre ve sessionid ile sorguluyor eger sonuc true ise oturum acik devam ediyor. ama false oldugu an tekrardan login istiyor..

    burada bakilirsa kadi ve sifre kismina pek is dusmuyor sessionid oldugu icin (ama bir nebze de olsa guvenlik :) ) ben sorgu kısmını sadece sessionid ile yaparak sorunu astim.

    Acikcasi pek icime sinmedi ama mecburen...

    Teşekkürler cevabın için...
     
    Son düzenleme yönetici tarafından yapıldı: 2 Temmuz 2008
  4. Kaplumb_Aga

    Kaplumb_Aga Üye

    Kayıt:
    29 Mayıs 2005
    Mesajlar:
    109
    Beğenilen Mesajlar:
    0
    sunucudaki php versiyonu kaç?
     
  5. xam

    xam Daimi Üye

    Kayıt:
    28 Mart 2006
    Mesajlar:
    1,080
    Beğenilen Mesajlar:
    0
    kontrol edebiliyorsaniz php.ini'yi kontrol edin, yoksa hostunuzla kontak kurun..

    php.ini
    PHP:
    After this number of secondsstored data will be seen as 'garbage' and
    cleaned up by the garbage collection process.
    session.gc_maxlifetime 1440
     
  6. n0fx

    n0fx Üye

    Kayıt:
    22 Ocak 2006
    Mesajlar:
    92
    Beğenilen Mesajlar:
    0
    Şehir:
    Izmir
    php info dosyandan session lifetime'ı kontol et.
     
  7. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad

    loginden atıyor demiyor ki...sessionlar kafasına gore okunuyor kafasına gore okunmuyor diyor...yoksa ben mi yanlıs okudum...
     
  8. Ferhat Ozdemir

    Ferhat Ozdemir Daimi Üye

    Kayıt:
    14 Nisan 2006
    Mesajlar:
    3,268
    Beğenilen Mesajlar:
    3
    Meslek:
    Electronics and Computer Engineer
    Şehir:
    Texas
    yok ali sen dogru okudun.
    PHP version 5. Birde dikkatimi bişey cekti, mesela ben htaccess ile hata raporlamayı kapatmama ramen arada sırada sessionın yaptığı gibi ekrana notice ler çıkıyor. 5 defa sayfa yenileniyorsa 3 defa cikiyor 2 defa cikmiyor bazen tam tersi bazen hic olmuyor. :(
     
  9. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    o noticelerde ne yazıyor ferhat hocam...
     
  10. Kaplumb_Aga

    Kaplumb_Aga Üye

    Kayıt:
    29 Mayıs 2005
    Mesajlar:
    109
    Beğenilen Mesajlar:
    0
    localdeki ve sunucudaki php versiyonları tam olarak nedir?
    5.1.0 mi? 5.2.0 mı? 5.2.5 mi?

    çünkü bazı 5.2.4'lerde böyle bir sorun var..
    sanırım sebeb $_session değişkeni ile normal değişkenin aynı isme sahip olması

    mesela: $kullanici = $_SESSION["kullanici"]; gibi
    eğer mesela $kullanici2 = $_SESSION["kullanici"]; gibi bir değişiklik yaparsan sorun çözülebilir..
     
  11. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad

    ben pek anlayamadım kaplumb_aga biraz daha acıklayabilirsen sevinirim.iki degisken burada zaten farklı ve kullanıcı session ını en sona attıgın degisken ustlenir.usttekinin degeri bosaltılmıs olur boylece.ve hata alırsın.lakin boyle bir sorun oldugunu sanmıyorum blue da.
     
  12. Kaplumb_Aga

    Kaplumb_Aga Üye

    Kayıt:
    29 Mayıs 2005
    Mesajlar:
    109
    Beğenilen Mesajlar:
    0
    evet iki değişken farklı ama ikisi de ayni ismi kullanıyor.
    mesela
    $deneme ve $_SESSION['deneme']
    $aliveli ve $_SESSION['aliveli']
    $xyz ve $_SESSION['zyz'] gibi

    ner ne kadar birisi normal bir değişken diğeri de session'daki bir değişken olsa da
    sebebini bilediğim bir şekilde isim karmaşası yaşanıyor.

    bu durumda da normal değişken ile sessiondaki değişkenlere farklı isimler vermek sorunu çözüyor.
    çünkü aynı durum bende de oldu. localde normal çalışmasına rağmen serverda hata verdi.
    ben de yukarıda örneğini verdiğim gibi farklı isimler kullanarak sorunu çözdüm...
     
  13. Ferhat Ozdemir

    Ferhat Ozdemir Daimi Üye

    Kayıt:
    14 Nisan 2006
    Mesajlar:
    3,268
    Beğenilen Mesajlar:
    3
    Meslek:
    Electronics and Computer Engineer
    Şehir:
    Texas
    php versiyonları :

    Local : 5.0.2
    Sunucu : 5.0.4

    @deathisonitsway; Kardeşim notice kisimlari oyle kayleye alinacak veriler değil, get ile alinan degiskenlerin boş olmasından kaynaklanıyor.

    @Kaplumb_Aga; dediklerini düşünmedim değil. ama zaten ben en baştan beri değişkenleri aynı kullanmuyorum mesela şöyle;
    PHP:
     $oturum_uyekodu    =    $_SESSION['yoturum_uyekodu'];
    bunda bir sorun olacağını sanmıyorum :S

    Ekteki dosyalar phpinfo bilgileri local ve sunucunun.