Php Arşivi

PHP’de Session Zamanını Belirlemek

Evren Bayraktar Tarih: 23 Ocak, 2010 Saat: 4:06 Php (0) Yorum

PHP de oturum işlemleri gibi önemli işlerde genelde $_SESSION değişkeni kullanılır. Mesela üyenizin sitenizde oturum açıp açmadığını session yardımı ile kontrol eder, gerekli bilgiler sisteminize bu session değişkeni üzerinden aktarırsınız. Olmazsa olmazlardan birisidir yani.

Session konusunda karşımıza çıkabilecek bir problem olan session zamanını ayarlamaktır. Mesela üye, 10 dakika boyunca herhangi bir işlem yapmadı ise o oturumu sonlandırmak, üyeniz için faydalı bir özellik olabilir. İnternet cafeden sitenize erişmiştir ve çıkış yapmadan kalktı ise ondan sonra gelen, sitenizi sanki oymuş gibi kullanabilir, istenmeyen şeylerin olmasına sebep olabilir. Sizde programcı olarak bu gibi durumları göz önünde bulundurmalısınız. Peki bu kontrolü nasıl sağlarsınız. Pekçok yöntemi var fakat programlama mantığınızın gelişmesi açısından aşşağıda vereceğim örnek, en iyi örnek olsa gerek..

session_start();
// timeout periyodu, sn olarak
$inactive = 600;

if(isset($_SESSION['timeout']) ) {
$session_life = time() - $_SESSION['timeout'];
if($session_life > $inactive)
{ session_destroy(); header("Location: cikis.php"); }
}

$_SESSION['timeout'] = time();

Yukarıdaki kodu yorumlayamadıysanız php.ini dosyanıza dalıp gerekli ayarlamayı yapabilirsiniz. php.ini de bulunan session.gc_maxlifetime değişkeni ile session un zamanını ayarlayabilirsiniz. Bu değer ön tanımlı olarak 1440 saniyedir. Fakat pek çok hosting sağlayıcısı bunun üzerinde sizlere oynama imkanı vermeyecektir o yüzden başka bir yol olan .htaccess üzerinden işimizi halledeceğiz.

php_value session.gc_maxlifetime 300

kodunu .htaccess dosyamıza ekleyerek session ömrünü 300 saniye yapabiliriz. Kontrol etmek için ise .htacess in bulunduğu klasörde bir sayfa oluşturup phpinfo() fonksiyonunun çıktısına bakmaktır.

Unix sistemlerde sessionlarımız /tmp klasöründe saklanır. Bu klasör sistem tarafından belirli araklıklarla temizlendiği için istemediğimiz durumlar ortaya çıkabilir. Bunu değiştirmek istersek, yukarıdakine benzer şekilde php.ini den yada .htaccess dosyasından yapabiliriz. php.ini ye erişimimizin olmayacağını varsayarak direk .htaccess için bilgi vereceğim,

php_value session_save_path /klasörün_yeri

yukarıdaki parametreyi ekleyerek /tmp klasörünü değiştirebiliriz.

Sessionlar ile ilgili daha detaylı bilgiler edinmek isterseniz burayı inceleyebilirisiniz.

Etiket : , , , ,

PHP ile Rastgele Söz

Evren Bayraktar Tarih: 3 Eylül, 2009 Saat: 1:16 Php (2) Yorum

PHP-logoBazen projelerimizde rastgele sözler işimize yarayabilir. Tabiki bunu sadece söz ile kısıtlamamakta lazım. Mesela yayınlamış olduğum in-post advertisment isimli wordpress eklentimde de bu yol izlenerek rastgele reklam gösterme işlemini yapmıştım.

Şimdi ise sizlere bu php de rastgele işlemlerinin yolunu göstermek amacıyla blog'umda Albert Einstein'ın sözlerinin olduğu kısımın altyapısını anlatacağım.

Burada sözlerimizi bir dizi altında topladım. Bu dizi içerisinden de herhangi bir elemanı php nin array_rand fonksiyonu sayesinde seçtim.

Kalabalık etmemesi için birkaç tane sözü yazacağım buraya. Bu iletinin devamını oku

Etiket : ,

Php ve Flash ile Geri Sayım İşlemi

Evren Bayraktar Tarih: 2 Eylül, 2009 Saat: 12:04 Php (0) Yorum

Azda olsa işimize gerekebiliyor bu tarz uygulamalar. Bilgisayarımı karıştırırken karşıma çıkan bu uygulamayı sizlerle paylaşayım istedim.

Görünümünde bir geri sayım uygulaması. HTML kodundaki birkaç parametre ile işinizi kolayca halledebilirsiniz. Şimdi gerekli kodumuzu ve parametlerimizi tanıyalım.

<object type="application/x-shockwave-flash" data="fl_countdown_v3_3.swf?mo=9&amp;amp;amp;da=02&amp;amp;amp;snd=on" width="250" height="60">
<param name="movie" value="fl_countdown_v3_3.swf?mo=9&amp;amp;amp;da=02&amp;amp;amp;snd=on" />
	</object>

Buradaki mo, da ve snd bizim ilgili parametrelerimiz. Bu değerler ile oynayarak geri sayılacak tarihi belirleyebiliriz. Ben burada dokuzuncu ayın ikinci gününe (Doğum günüme) geri saydırma işlemi yaptırdım :)

  • mo = ay
  • da = gün
  • snd = ses

ilgili parametrelerimiz ve anlamlarıda bunlar. Bu geri sayım uygulamasının örneğini buradan indirebilirsiniz.

Etiket : ,

Timthumb ile resim büyütme

Evren Bayraktar Tarih: 28 Ağustos, 2009 Saat: 12:29 Php (4) Yorum

PHP-logoBirçok wordpress temasında timthumb aktif olarak kullanılıyor. Bilmeyenler için kısaca açıklayayım timthumb'un ne olduğunu. timthumb resimlerin ön izlemelerini (thumbnail) oluşturmanıza yarayan, cache destekli kod parçacığıdır.

Evet dediğim gibi ön izlemelerini oluştırmaya yarayan. Fakat her zaman ön izlemlerini oluşturmak istemeyiz. Resim kalitesinden ödün versek bile mecbur olduğumuz durumlarda gerekli resimi büyültmemiz gerekebilir. En azından benim bu sıralar üzerinde çalıştığım bir temada bu gerekti. Bu iletinin devamını oku

Etiket : , , , ,

Sitenizin Wordpress Tabanlı Olduğunu Gizlemek

Evren Bayraktar Tarih: 21 Ağustos, 2009 Saat: 7:36 Php, Teknoloji (0) Yorum

wordpress-logo-shine Bu sıralar worpress sistemine takmış durumdayım. Tatilde iken worpress bileşenlerini, çalışma sistemini baya incelemiştim. Olay nereden başlıyor nerede bitiyor..

Hep kafama takılmıştır wp-content klasörü. İncelemem sırasında wordpress'de bunu değiştirebileceğimizin farkına vardım. Bunu yapmak çok kolay aslında. Ana dizindeki wp-settings.php yi editlememiz gerekiyor.

Satır 113 deki,

113 define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );

Buradaki wp-content yazısını istediğiniz dizin ismi ile değiştirin. Ondan sonra 356. satırdaki

356 define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content');

wp-content yazısını aynı şekilde değiştirin. İşlem budur :)

Yukarıdaki işlemi yapmanız yeterlidir. Fakat, size tavisiyem wp-settings.php içindeki bütün wp-content yazılarını istediğiniz isim ile değiştirmenizdir.

İşlem budur dedik ama üzerine de bir cila çeksek iyi olur. Bu iletinin devamını oku

Etiket : , ,



EvrenCe Facebook'da.