• 23-05-2009, 19:23:50
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    PHP ye daha yeni başlamış sayılırım. Bu nedenle ustalarıma birkaç sorum olacak.

    1). get_magic_quotes_gpc() olayından biraz bahseder misiniz ?

    2). oturum değişkenleri kullandığımda ($_SESSION), bu oturumun sonlanma süresini nasıl ayarlayacağım. Örneğin; Kullanıcı 30 Dk boyunca aynı sayfada kalırsa, otomatik olarak $_SESSION değerinin sıfırlanmasını istiyorum. Yani kayıt silinecek.
    bir de session_register, session_is_registered gibi bazı fonksiyonların artık fazla kullanılmadığını duydum.

    $_SESSION['username'] = $kuladi;
    $_SESSION['usertype'] = $kulyetki;

    gibi kullanmak doğru olur mu ?

    3). $$degisken gibi kullanımlar ne amacla oluyor ?

    4). MySQL'e mysql_pconnnect ile mi bağlanmak sunucuyu daha az yorar, yoksa mysql_connect ile bağlanıp işlem sonunda sql bağlantısını kapatarak mı ?

    Şimdilik bu kadar. Aklıma soru geldikçe tekrar sizlere sunarım.

    şimdiden Teşekkürler.
  • 23-05-2009, 19:30:47
    #2
    Üyeliği durduruldu
    bende merak ediyorum... Cevap veren bi kardeş olursa iyi olur...
  • 23-05-2009, 20:03:37
    #3
    Eposta Aktivasyonu Gerekmekte
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    PHP ye daha yeni başlamış sayılırım. Bu nedenle ustalarıma birkaç sorum olacak.
    1). get_magic_quotes_gpc() olayından biraz bahseder misiniz ?
    2). oturum değişkenleri kullandığımda ($_SESSION), bu oturumun sonlanma süresini nasıl ayarlayacağım. Örneğin; Kullanıcı 30 Dk boyunca aynı sayfada kalırsa, otomatik olarak $_SESSION değerinin sıfırlanmasını istiyorum. Yani kayıt silinecek.
    bir de session_register, session_is_registered gibi bazı fonksiyonların artık fazla kullanılmadığını duydum.
    $_SESSION['username'] = $kuladi;
    $_SESSION['usertype'] = $kulyetki;
    gibi kullanmak doğru olur mu ?
    3). $$degisken gibi kullanımlar ne amacla oluyor ?
    4). MySQL'e mysql_pconnnect ile mi bağlanmak sunucuyu daha az yorar, yoksa mysql_connect ile bağlanıp işlem sonunda sql bağlantısını kapatarak mı ?
    Şimdilik bu kadar. Aklıma soru geldikçe tekrar sizlere sunarım.
    şimdiden Teşekkürler.
    1) get_magic_quotes_gpc()
    php de formdan gelene verilere bazen \ ile escape edilir.

    get_magic_quotes_gpc() ile özel karakterler escape edilmiş mi edilmemiş diye kontrol edilir. eğer edilmemişse addslashes ile escape edersiniz.yoksa normal devam edersiniz.

    php.net ten bir örnek:
    if (!get_magic_quotes_gpc()) {
        $lastname = addslashes($_POST['lastname']);
    } else {
        $lastname = $_POST['lastname'];
    }
    2) session

    en iyi atama

    $_SESSION['username'] = $kuladi;
    $_SESSION['usertype'] = $kulyetki;

    şeklinde yaplır.

    3). $$degisken gibi kullanımlar ne amacla oluyor ?

    Bunu örnekle açıklayım.
    <?php
    $selam="deneme";
    $dualwarior="selam";
    
    echo $$dualwarior;
    ?>
    çıktısı: deneme
    nasıl mı oluyor?

    echo $$dualwarior;
    kalın kısımla gösterdiğim yerin değeri selam olduğundan $selam oluyor.$selam değeride deneme olduğundan çıktı da deneme olur.

    4) soru


    Bi farkı olacağını sanmıyorum.
  • 23-05-2009, 20:04:43
    #4
    Session verileri pencere kapatılınca silinir. Diğer türlü zamana baglı olarak silinmez.
  • 23-05-2009, 20:33:59
    #5
    Session süresini php.ini dosyasından ayarlayabilirsin. Yanlış hatırlamıyorsam session.gc_maxlifetime bu değeri tutuyordu.
  • 23-05-2009, 22:47:23
    #6
    4. cu senecegide ben cevaplayım eger az bir hitin var ise mysql_connect kullan eger 50 k üzeri bir hitin var ise mysql_pconnect yaptı baglantı kopmadan hep baglı kalsın.Hem mysql binen yük azalır hemde ram kullanımı azalır.Ama hiti az sitede bunu yaparsan mysql serverin büyük bir ayırma birimini boş yere meşgul etmiş olursunuz
  • 23-05-2009, 22:53:48
    #7
    Verdiğiniz bilgiler için çok teşekkürler.

    Peki kullanıcı oturum açtığında bu oturumu belirli bir süre örneğin 30 dk yapmak için ne yapmamız gerekiyor. ilk msj da söylediğim gibi yani.
  • 24-05-2009, 11:47:10
    #8
    4) mysql_pconnect kullanması son derece tehlikeli bir komuttur, işlemcide açık bağlantıların sayısı arttıkça makine kasacaktır. Fakat bazı durumlarda özellikle sürekli bağlı kalınması gereken durumlarda hız açısından ciddi açıda farklılık yaratacaktır.
  • 24-05-2009, 14:26:17
    #9
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    Verdiğiniz bilgiler için çok teşekkürler.
    Peki kullanıcı oturum açtığında bu oturumu belirli bir süre örneğin 30 dk yapmak için ne yapmamız gerekiyor. ilk msj da söylediğim gibi yani.
    Cookie ile süre belirleyip sessiona atayabilirsin

    örnek

    if (empty($_SESSION["UYE"])) { // Oturum açık değilse oturumu aç
    $sessionid = sessionid();
    setcookie("UYE",$sessionid,time()+60*60*24); // 1 günlük cookie oluşturuyor
    $_SESSION["UYE"] = $_COOKIE["UYE"];
    session_register();
    header("Location:profil.php");
    }else { // Oturum açıksa profil sayfasına yönlendir
    echo $_SESSION["UYE"];
    header("Location:profil.php");
    }