Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

PHPSESID hakkinda

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

  1. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    merhablar
    bildiğim kadarıyla oturum acıldığında phpsesid değişkeni otomatik olusturuluyor. bir sayfada sadece sessıon_start fonk. kullandığımda url satırında phpsesıd=12334234fdg gibi bir sayi var diger sessıon_start kullandığım sayfalarda bu değişken yok nedendir

    birde phpsesid değişkenini bir başka değişkene atayıp butun sayfaların url satırından oturumu yönetiyorlar bunu nasıl yapıyorlar

    sevgilerle
     
  2. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    dikkat ettimde en zor soruları sen soruyon zihni :p
     
  3. mkarabulut

    mkarabulut Misafir

    İlk sorunun cevabını bende bilmiyorum, session_start() dediğin sayfadaki linkler PHP motoru tarafından parse edilip sonlarına PHPSESSID=asd213sdasd gibi bi şeyler otomatik eklenir. session_start() deyip de o sayfanın içindeki linklere otomatik olarak SID değeri eklenmeme sebebini bende bilmiyorum.

    İkinci soruna gelince, iki durum sözkonusu
    1- Bu PHP fonksiyonları ile doğrudan yapılan bi şey değil. Programcılar php'nin built-in session fonksiyonlarını kullanmak yerine kendi session fonksiyonlarını yazıp kullanıyorlar
    2- php motorunun SID değerini ataması yerine kendileri manual olarak SID değerini linklere atıyorlar. Yani yazılan her linkin sonuna kendileri bu değeri elle yazıyorlar.
     
  4. mkarabulut

    mkarabulut Misafir

    Ha birde madem zihni zor soruları bulup getiriyo bi yerlerden, bende zor bi cevap yazayım soruna :D

    Yukarıda yazmadım bi yöntem daha var, linklere session değişkenini eklemek için
    <?
    ob_start();
    ?>

    Normalde output bufferingi açtıktan sonra, ekrana gidecek içerik bir bufferda durur oradan client'a gönderilir. Şimdi eğer biz buffer içindeki stringi bir şekilde elde edip, string fonksiyonları ile işleyip linklerini otomatik parse edersek ,session değerini linklere otomatik ekleme işlemini başarmış oluruz.

    Bunun için ob_start() ın parametresini kullanacağız. Bu fonksiyon bi parametre alır, bu parametre bi call-back fonksiyon ismidir. Ekrana gönderilecek içerik böylece önce buffer'a sonrada bu fonksiyona sonrada ekrana gönderilir. Yani

    Output Buf. açıksa : PHP->Buffer->Fonksiyonumuz->Ekran
    veya PHP->buffer->ekran
    Açık değilse : PHP->Ekran

    Şekilden de görüldüğü gibi istersek fonksiyona göndererek araya girebiliyoruz.
    PHP:
    ob_start("ciktiyi_parse_et");
    PHP:
    function ciktiyi_parse_et($cikti){
        
    $SID"s=123213sdfsd23123";
        return 
    eregi_replace ("href=([a-zA-Z0-9?_./&~-]+)","href=\\1&$SID",$cikti);
    }
    gibi..

    Yukarıdaki düzenli ifade çalışmayabilir,aslında çalışmama ihtimali yüksek ama sadece örnek olması ve fikir vermesi açısından yazdım.

    Böyle bi şeyler işte... :)
     
  5. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
  6. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    yok şahin abi yannışın var, ben php yi bilmiyonki zor sorular sorayım heralde bendede parafizinin nette görülen hali mecvcut :D

    mustafa sid hakkında cok güzel şeyler yazmışsın :super: