Posts Tagged ‘php’

ouSQL Sınıfı

Monday, March 24th, 2008

PHP ile ilgilenmeye başladığımda, veritabanı işlemleri için bir sınıf geliştirmiştim. Yalnız sonradan farkettim ki bu sınıf ile yaptığım işlemleri, sınıf olmadan da neredeyse aynı kodları yazarak yapabiliyordum. Bir süre sınıfı kullanmadan veritabanı işlemleri ile uğraştım. Geçen gün yeni bir sınıf oluşturmak için çalıştım. Amaç kodları hem anlaşılır yapmak hem de fazla kod yazmadan işlemlerin yapılabilmesini sağlamaktı. Sanırım bu amaca ulaşan bir sınıfı geliştirebilmeyi başardım. Kendi kodlarımdaki karmaşayı bir nebze olsun giderdi. Kodlar aşağıda bulunmakta. Nasıl kullanılacağı konusunda bilgi ise kodlardan sonraki kısımdadır.

(more...)

SuperGlobal Sınıfı

Friday, March 21st, 2008

SuperGlobal fonksiyonunu geliştirip bir sınıf hazırladım. GET,POST,SESSION dan alınan veriler üzerinde işlem yapıp artık verileri ereg_replace ile kontrol edebilecek hale geldi. preg_match , preg_replace kullanımı hakkında çok fazla bilgiye sahip olmadığımdan ötürü o özellikleri ilerleyen vakitlerde eklemeyi düşünüyorum.
(more...)

SuperGlobal

Thursday, March 20th, 2008

PHP'de POST,GET,SESSION üzerindeki işlemlerde aşağıdakine benzer yöntemler kullanıyordum(kabaca):
(more...)

PHP İle Sınıf İçerisindeki Bir Değişkene Değer Atama

Saturday, March 15th, 2008

Sınıf içerisindeki bir değişkene $this->değişken = değer; türünden bir basitlik söz konusu değer atamada ama geliştirmekte olduğum(kendim için) bir veritabanı işlemleri sınıfında bu değer atama işlemini farklı bir yolla yapmam gerekiyordu. Bunun için php nin bir özelliğini kullanmaya çalıştım. Normalde ${'deneme'} = 5; gibi bir kod ile $deneme değişkenini oluşturup 5 değerini atamış oluyoruz. Ama bu sınıf içerisinde ${'this->deneme'}=5; şeklinde çalışmıyor. Uzun uğraşlar sonucunda sınıf içerisindeki değer atama problemini çözdüm. Eval fonksiyonu ile aşağıdaki gibi bir sistemi çalıştırabildim:
(more...)

Oturum Kontrolü:Farklı Bir Sorgulama

Saturday, February 2nd, 2008

Normalde bir kullanıcı adı ve parola, form vasıtasıyla alınır ve "select * from uyeler where kullanici='omer' and parola='parola'" şeklinde sorgulatılıp kontrol işlemi yapılır. Eğer öyle bir üye varsa oturum açma işlemi başarılı olur.

Bugün bir site ile ilgilenirken aklıma farklı bir yöntem geldi. Üyeler tablosunda kontrol adında yeni bir hücre oluşturdum. Bu hücre içeriğine, kayıt sırasında, kullanıcı adı ve parola değerinin md5 ile şifrelenmiş halinin aktardım. Kullanıcı oturum açma işlemleri sırasında ise şöyle bir sorgu kullandım:

 
$kontrol = md5($kullanici.$parola);
"select * from uyeler where kontrol='$kontrol'";
// Kodlar mantıksal olarak yazılmıştır, yazım hatası mevcuttur.
 

Böylelikle güvenlik sorunu ortadan kalkmış oluyor (sanırım) ve az da olsa karmaşadan kurtulmuş oluyoruz(bence) :).

Php ve Mod_rewrite

Wednesday, January 23rd, 2008

Kalıcı bağlantılar konusunda ufak bir araştırma yaptım. Daha önce bu konuda bilgim yoktu. siteadi.com/sayfa türü bir bağlantı için aşağıdaki gibi bir .htaccess dosyasını wordpressin .htaccess dosyası ve bir kaç bağlantıdaki bilgi ile oluşturmayı başardım:

 
# BEGIN
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /omerucel/www/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?sayfa=$1 [L]
</ifmodule>
# END
 

Kendi sunucumda ve uzaktaki sunucuda test ettim, bir sorun çıkmadı.

Dosya Isim Kontrolü

Thursday, January 3rd, 2008

Sunucudaki bir klasöre dosya yüklerken aynı dosya isimleri varsa yeni isim üretmeye yarayan php ile yazılmış bir fonksiyon.

 
< ?php
 
function DosyaIsimKontrolu($dosya){
 
    $n = 1;
 
    $bilgi = pathinfo($dosya);
 
    while (1==1){
 
        if (is_file($dosya)){
 
            $dosya = $bilgi["dirname"]."/".$bilgi["filename"].$n++.".".$bilgi["extension"];
 
        }else{
 
            break;
 
        }
 
    }
 
    return $dosya;
 
}
 
echo DosyaIsimKontrolu("dosyalar/20080103/linux.jpg");
 
?>
 

Php İle Kullanıcı Oturum Kontrol Nesnesi - oKoN

Thursday, November 29th, 2007

Hem işlerimde kullanabileceğim hem de diğer insanların kullanabileceği açık kaynak bir içerik yönetim sistemi geliştiriyorum(minipo-minik portal gibi bir isim buldum ama alan adı alınmış, yeni şeyler keşfetmek gerekecek). Bu sistem için bir oturum kontrol nesnesi geliştirdim. Eğer özel sayfalar oluşturup rumuz ve/veya parola ile kullanıcılarınızın o sayfalara erişilebilmesini istiyorsanız, oturum kontrol nesnesini sisteminize basitçe adapte edebiliyorsunuz.
(more...)

Php İle Md5 İleti Özeti Hesaplama ve Sınama

Friday, November 23rd, 2007

Yurtdışı bağlantı sorunları olduğu için web alanına debian dağıtımını indirip buradan kendi bilgisayarıma aktarmaya çalışacaktım. İndirme işlemi tamamlandı ama son olarak bir doğrulama yapmak istedim herhangi bir soruna karşın. Bunun için aşağıdaki fonksiyonu geliştirdim. Hem doğrulama yapabiliyor hemde dosyanın md5 iletisini geri döndürebiliyor.

 
< ?php
function md5sum($file,$check){
    $handle = fopen($file,"r");
    $result = fread($handle,filesize($file));
    fclose($handle);
    if ($check!=""){
        if ($check!=md5($result)){
            return false;
        }else{
            return true;
        }
    }else{
        return md5($result);
    }
}
echo md5sum("./debian-testing-i386-netinst.iso","170cae59135d382e0ab4e7c2614f8d2b");
?>
 

IIS ve Vertrigo Bir Arada

Saturday, November 3rd, 2007

Sisteminizde php çalışmalarınız için VertrigoServ programı kurulu ise, bu program çalışırken IIS yide çalıştırmanız mümkün. Ön tanımlı ayarlarda port 80 olarak ayarlandığı için çakışma oluyor. C:\Program Files\VertrigoServ\Apache\conf dizinindeki httpd.conf dosyasının 120. ve 211. satırlarındaki port değerini 8080 yaparsanız IIS ile çakışma olmadan programı çalıştırabilirsiniz.

120 Listen 8080
211 ServerName VertrigoServ:8080

Farklı olarak burada yapmanız gereken şey php çalışmalarınızda http://127.0.0.1:8080 ya da http://localhost:8080 adresini kullanmanız. Örn: http://127.0.0.1:8080/index.php vs.