• 14-12-2007, 03:47:14
    #1
    Kurumsal PLUS
    Sessionların bir çok farklı kullanım şekli var fakat burada en sağlıklısını açıklamaya çalışıcam, uzun birşey değil zaten.

    Session bildiğiniz gibi aynı oturum dahilinde sayfalar arasında değişken taşımanızı sağlar. Yani a.php sayfasında tanımlanacak olan bir değişkeni b.php sayfasında da kullanmanız gerekiyorsa, sessionlar yardımınıza koşuyor.

    En önemli şey, kesinlikle ama kesinlikle, globals kullanmayın. Sadece session kullanın. Çünkü globals de yapabileceğiniz ufacık bir hata ile sadece sizin siteniz de değil, bütün sunucuyu tehdit altına atarsınız.

    Sayfada sessionlarla çalışılacaksa, ilk olarak, sayfanın en üstlerinde bir yer olması daha iyi olur,
    session_start();
    kodunu ekliyoruz. Bu kod eklenmediği sürece, sayfada hiçbir şekilde session çalıştıramazsınız. Yani yazdığınız kod çalışmıyorsa ilk önce bunu ekleyip eklemediğinizi kontrol edin, bilmemkaç saat kodlarda hata aramayın(başıma gelmişti ). Bu kodu ekledikten sonra, sayfada sessionlarla çalışabiliriz.

    Burada PHP standartlarına göre dikkat etmemiz gereken şey şu. session_register() veya HTTP_SESSION_VARSkullanacağımıza, session tanımlarken ve bunlarla işlem yaparken, $_SESSION[] kullanmak daha sağlıklı.
    $_SESSION['uyeadi'] = "Bartuc"; // tanımladık
    $uyeninadi = $_SESSION['uyeadi']; // kullandık
    session'u bitirmek için ise, unset() kullanabiliriz veya boş bir değer verebiliriz, farketmez, hangisi kolayınıza gelirse.
    unset($_SESSION['uyeadi']); // session'u siler
    $_SESSION['uyeadi'] = ""; // sessiona boş bir değer verir
    Burada belirttiğim şey PHP standartlarında olduğu için, localhostta çalıştı sunucuda çalışmadı ya da tersi durumları bu kodlarla yaşamazsınız.
  • 15-12-2007, 13:43:57
    #2
    Üyeliği durduruldu
    Benim daha geçen gün başıma geldi. Bazı sunucularda açmış olduğunuz oturuma isim de vermeniz gerekiyor. Bunu de session_name fonksiyonu ile yapmalısınız.

    Yani:

    session_start();
    $_SESSION['uyeadi'] = "Bartuc";

    yerine:

    session_name('uye-bilgileri');
    session_start();
    $_SESSION['uyeadi'] = "Bartuc";

    yapmak gerekebiliyor.

    Bunu yapmanız şart değil ama hosting aldığınız yerde oturum bilgileri çalışmazsa aklınıza ilk gelmesi gereken şeylerden birisi bu olmalı diye söylüyorum