• 12-08-2010, 09:50:03
    #1
    Merhaba arkadaşlar.

    Admin paneli için giriş sayfası yapıyorum ve beni hatırla seçeneği olsun istiyorum. Mantıken beni hatırla seçildiği zaman cookie, seçilmediği zaman da session kaydedeceğimi biliyorum ama bugüne kadar hep sessionlarla uğraştım. Yani cookie'nin genel mantığını tam olarak bilmiyorum. php.net'te ve daha birçok yerli-yabancı kaynakta arama yaptım ama pek anlamadım. Forumda Lisans arkadaşımız çok güzel bir konu paylaşmış ama o da istediklerimin çok üstünde.

    Yani sadece tik atıldığında cookie, tik atılmadığında sessiona kaydedecek bir script nasıl yazılır onu merak ediyorum. Ayrıca girilen sayfalarda oturumun session mu yoksa cookie mi olduğunun nasıl kontrol edileceğini de tam olarak bilmiyorum.

    Yardımcı olursanız çok memnun olacağım.
  • 12-08-2010, 10:23:02
    #2
    Kayıt için : setcookie ("deger", "$sqldengelenveya_get_pos",time()+24*60*60);
    örnek olarak :
    setcookie ("kullaniciadi", "$sql[rumuz]",time()+24*60*60);

    bu kayıt içindi diğer sayfalarda çekim için :
    $degeretanimveriste = $_COOKIE['deger'];

    üstteki örneğe göre açılım örneği :
    $kullaniciadi = $_COOKIE['kullaniciadi'];

    umarım anlamışsınızdır. kolay gelsin.
  • 12-08-2010, 11:55:09
    #3
    kullanımı anladım ama bende şu anda session var. sessionlarla çakışmaması için napıcaz? yani tik atmadıysa session çalışsın tik attıysa cookie.
  • 12-08-2010, 12:36:22
    #4
    Üyeliği durduruldu
    session çalışmaması şeklinde değilde, cookie varsa session'ı otomatik açsın şeklinde düşünmelisiniz.

    beni hatırla seçildiyse setcookie fonksiyonu ile cookie atıyorsunuz bilgisayara
    eğer çıkarken oturum kapatılırsa cookie'yi yine setcookie fonksiyonu ile siliyorsunuz
    oturum kapatılmadıysa cookie tanımlanırken verilen süre bitmeden siteye bağlanıldığında doğru cookie varmı kontrol ediyorsunuz --> if(isset($_COOKIE[cookie_adi])) gibi
    cookie varsa, üye girişi yapıldığında açılan session'ı açıyorsunuz
  • 12-08-2010, 21:13:18
    #5
    input>checkbox elementinin adının benihatirla olduğunu varsayarsak:

    if($_POST['benihatirla'] == 'on')
    {
      // Çerezler
    }
    else
    {
      // Oturumlar
    }
    Bu kadar küçük bir ekleme yeterli oluyor. Ama değer 'on' mu dönüyordu emin değilim. Deneyerek öğrenin.
  • 12-08-2010, 21:42:23
    #6
    Üyeliği durduruldu
    Detaylıca anlatmaya çalışayım. Eğer tik işaretli olursa (oraya bh adında bir tik kutusu koyup değer olarak 1 atarsanız iş görür) ilk önce cookie atarsınız. Zaten nasıl atayacağınızı biliyormuşsunuz. Sonrasında site girişinde, bir kontrol fonksiyonu oluşturursunuz. Eğer cookie tanımlı ise session'ı çalıştırıp cookie verisiyle session üzerinden oturum açmış olursunuz. Cookie boşsa oturum da açılmamış olur normal oturum açma mantığıan döner. Bu şekilde yaparsanız elinizdeki sisteme küçük eklemelerle çok kolay çalıştırırsınız. Aksi halde cookie ve session çalışsın, duruma göre değişsin, birbiriyle çakışmasın v.s. çok zorlu olur. Zordan ziyade uğraştırır. İstediğinz şey bunlar, nasıl yapılacağı anlatılmış oldu.