Haziran 2008 için Arşiv

CodeIgniter Cookie Sorunu Çözümü

Eğer Codeigniter kullanıyorsanız, üstüne birde onun session işlemleri için yazılmış olan kütüphanesini kullanıyorsanız kuvvetle ihtimal bir şekilde yapmış olduğunuz sisteme internet explorer ile erişip, login olmak isteyenler şaşırıp kalacaklar. Çünkü, bir milyon kere de deneseler asla sisteme giriş yapamıyacaklar yada siz sessionları hangi işlemde kullanıyorsanız o işlemi gerçekleştiremeyecekler. Ancak bu sorunun çözümü basit. Olay IE'nin Cookie bilgilerini domain adıyla kayıt etmesinden kaynaklanıyor, bunu aşmak için ise application/config dizini içerisinde config.php dosyamızı açıyoruz. 254. satırda, oluşturduğumuz cookieler için gereken domain adını tanımladımız konfigürasyon değişkeni bulunuyor. Bu satırı aşağıda görmüş olduğunuz kod ile değiştiriyoruz

PHP:
  1. $config['cookie_domain']    = ( $_SERVER['HTTP_HOST'] == 'localhost') ? false : '.domainadiniz.uzanti';

Kısaca ne yaptığımızı açıklayacak olursak. Basit olarak $_SERVER['HTTP_HOST'] sunucu değişkenin değerinin localhost değerine eşit olup olmadığını sınıyoruz ve eğer öyle ise bu konfigürasyon değişkenini false olarak belirtiyoruz, yok değil ise sitemizin çalışacağı domain adresini başındaki www kısmını kaldırarak yazıyoruz ( Evet, yalnızca www kaldırılmalı "." kalmalı.). Bir başka trickte görüşmek üzere. Bu trick için sevgili muarifer'e teşekkürler ;)

Ruby On Rails ile AJAX

Ruby on Rails ile basit olarak AJAX kullanımına göz attım bu sabah. Şimdi de öğrendiklerimi paylaşayım. RoR'da AJAX işlemleri yapabilmek için öncelikle prototype kütüphanemizi sayfaya dahil etmemiz gerekiyor bunun için view yada layout dosyamızın başına

RUBY:
  1. <%= javascript_include_tag 'prototype' %>

satırını yerleştiriyoruz. Daha sonra üzerine tıklanıldığında AJAX ile sunucuya istekte bulunacak olan linki vermek için view dosyamız içinde "link_to_remote" fonksiyonunu kullanıyoruz. Kullanımı ise şu şekilde :

RUBY:
  1. <%=  link_to_remote "Tıklayınız",
  2.    :url => { :action => "ajax_deneme"},
  3.    :update => "ajax_sonuc"
  4. %>

Bu fonksiyon çıktı olarak sayfaya "Tıklayınız" şeklinde bir link oluşturuyor. Oluşan bu linke tıklanıldığında AJAX ile şuanda bulunduğumuz controller'ın "ajax_deneme" adlı metoduna istekte bulunuluyor. Bu metoddan dönen sonuçta view dosyamızda bulunan "ajax_sonuc" id'li div'e yazdırılıyor.

Son olarakta controller dosyamızın içerisine AJAX ile istekte bulunduğumuz "ajax_deneme" adlı metodu yazalım. Ben burada render :text ile basit bir çıktı vereceğim yalnızca ancak tabii ki geliştirilmesi ve daha kompleks bir hal alması mümkün. İşte ajax_deneme metodumuz.

RUBY:
  1. def ajax_deneme
  2.     render :text => "AJAX Örneği Yaptık!"
  3. end

İşte bu kadar. Daha detaylı bilgi için API'yı inceleyebilirsiniz.

Clicky Web Analytics