Kişisel bir site.
Kodlama
HTML input şifre tekrarı kontrol edicisi
25 Tem
Uzun süredir yazamadım buraya, bu vesileyle yazalım.
Bir kayıt formunda kullanıcının şifresini yanlış girmediğinden emin olabilmek için şifre iki kez alınır. Bu iki kez alınan değer birbiriyle karşılaştırıp, ikisi de aynı ise devam edilir. Standart iş.
Bu ikisinin server-side kontrolü haricinde client-side kontrolünü de yapayım istedim. Normalde bu tarz kontroller ve genel validasyon için jQuery.validate var.
Fakat validate kapsamlı bir kütüphane ve sadece bu karşılaştırma işini yapmak için include etmek istemedim. Ziyadesiyle basit olarak yazdım; ihtiyacı olan kullansın.
Değerler eşleşmediğinde tarayıcının çıkaracağı uyarı, karşılaştırılacak password fieldları wrap edeceğiniz elemana data-msg attribute’ı olarak ekleniyor. Bunu böyle yaptım, çünkü çok dilli bir backend’im var; buraya o anki kullanıcının dilinde yazılması gerekeni ekliyor.
Karşılaştırılacak fieldları niye başka bir elemente wrap ediyorsunuz: sayfada birden çok karşılaştırılacak eleman olabilir; kod bunu destekliyor. Ayrıca 2 adet değil de daha az/fazla sayıda password elementi wraplarsanız da patlamaması sağlanmış durumda.
See the Pen HTML input password match checker by Hazar (@hazarkarabay) on CodePen.
Template içerisine placeholder imaj yerleştirici
14 Eyl
1 sene oldu sanırım son posttan bu yana. O biçim yardırıyorum.
Yaptığım işlerde lazım olduğunu farkettiğim bir işlevdi, geçtiğimiz gün psd to html conversion yaparken bir aratayım dedim, tahmin edileceği gibi gavur zaten yapmış; üstelik birkaç alternatifli olarak.
Öncelikle alternatifler;
- http://placehold.it/ : Gri arkaplanlı, görselin de ortasında en boy değerleri yazacak şekilde imaj üretiyor. URL sonuna /enxboy ekleyerek görsele ulaşabiliyorsunuz. Şık işler.
Bunu görenler bunun kedili ve köpeklisini de yapmış;
- http://placekitten.com/ – Kedilisi
- http://placedog.com/ – Köpeklisi
Zoidberg’lisini de yoğun istek gelirse ben yaparım size.
Şimdi bunları kolay kullanabilmem için yazdığım kodcuğa geçiyorum.
static function placeholder($width, $height, $return = false, $type = 'meh') { // Placeholder imaj döner. $types = array( 'meh' => 'http://placehold.it/%1$dx%2$d', 'cats' => 'http://placekitten.com/%1$d/%2$d', 'dogs' => 'http://www.placedog.com/%1$d/%2$d' ); $url = (!$types[$type]) ? reset($types) : $types[$type]; if ($return) return sprintf($url, $width, $height); printf('<img src="' . $url . '" width="%1$d" height="%2$d" alt="%1$d×%2$d Placeholder Görsel" class="placeholder" />', $width, $height); }
Kullanımı:
Benim ilgili sınıfımın içinde duruyor bu fonksiyon, bağımlılığı bulunmadığından statik olarak tanımlandı. Procedural takılıyorsanız baştaki static’i kaldırıp keyfinize bakın.
width ve height, rakam olarak vereceksiniz; zorunlu değer. Bu şekilde çağırıldığında XHTML valid IMG tagı olarak ekrana placeholder.it’ten görselinizi koyacaktır.
Müşterinizin ciddiyetine göre kedili ve köpekli versiyonları kullanabilmek adına; son parametremiz bunu belirliyor. $type’ın default değeri meh; placeholder.it’ten gelen sıkıcı gri görsel. cats derseniz kediler, dogs derseniz köpekler geliyor.
$return true olur ise IMG tag çıktısı yerine placeholder görselin hazırlanmış URL’ini verecektir.
Kolay gele.
Türkçe string normalize edici
18 Ağu
ğüşiöçı => gusioci’ye çeviren PHP kodu.
function normalize($str) { $str = iconv('UTF-8', 'US-ASCII//TRANSLIT', $str); return str_replace(array('"', "\\"), '', $str); }
Sunucunuzdaki localization ayarlarından dolayı Türkçe karakterlerde arıza görürseniz, ameleliği yapılmış kod da şuracıkta.. Kimse vermez bu hizmeti..
function romanize($str) { // Türkçeleri biz halledelim. $bunu = array('ğ', 'ü', 'ş', 'ö', 'ç', 'Ğ', 'Ü', 'Ş', 'İ', 'Ö', 'Ç'); $bununla = array('g', 'u', 's', 'o', 'c', 'G', 'U', 'S', 'I', 'O', 'C'); $str = str_replace($bunu, $bununla, $str); return iconv('UTF-8', 'US-ASCII//TRANSLIT', $str); }
PHP dosya yükleyici / kontrol edici
18 Ağu
Dosya upload işlemleri için dosya uzantısı kontrolü yapan ve dosya adındaki karakterlerde değiştirme / validasyon yapabilen fonksiyon yazdıydım, paylaşayım. Sessiz kaldık bir süredir.
function savePostFile($field, $path, $allowedExts = array('jpg', 'jpeg', 'gif', 'png'), $replace = array('/[^a-z0-9.]/i', '-') ) { if (in_array(end(explode(".", strtolower($field['name']))), $allowedExts)) { $file = explode('.', strtolower(preg_replace($replace[0], $replace[1], $field['name']))); $ext = '.' . array_pop($file); $name = implode('.', $file); $saveName = substr($name, 0, 100) . $ext; if (move_uploaded_file($field['tmp_name'], $path . $saveName)) { return $saveName; } } return false; }
$field parametresine $_FILES[‘fieldName’] tarzı bir giriş yapmalısınız. $path, kaydedilecek yol; $allowedExts izin verilen uzantılar dizisi; $replace ise ilk indisinde regexp, ikinci indisinde değiştirilecek karakteri barındıran bir dizi. Default değeri alfanumerik karakterleri tutup diğerlerini – ile değiştirmekte.
Kolay gelsin.
MySQL’de tek komutla bütün tabloları kontrol / tamir etme
24 May
MySQL 3 kusürden beri olan bir yardımcı program imiş kendileri. Sistemdeki veritabanlarının içindeki tüm tabloları kontrol, gerekirse tamir ve optimize eden komuta buyrun.
Kendisinin komut satırından çalıştırılması gerekiyor.
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
Lazım oldu da bugün 🙂
Arama motoru dostu yönlendirmeler
12 Şub
Arama motorlarında yüksek sıralarda çıkma konusunda uzun süredir webciler birbirini yemekte. Bir deli (google) kuyuya taş atıyor, geri kalan akıllılar çıkarmaya uğraşıyor durumu.
Ben buralara girmeyeceğim, bugün “yönlendirme” dediğimiz şeyin ne olduğu, kaç çeşit olduğu, nasıl yapıldığı ve hangisinin ne zaman yapılması gerektiğinden bahsediyorum.
İçerİde kopuyoruz >
PHP tablo oluşturucu
5 Eyl
Ürün listelemede, raporlamada, fotoğraf galerisi uygulamalarında vb. karşınıza çıkabilen bir gereksinimdir tablo kullanmak. CSS iyidir, süperdir; katılıyorum. CSS stilleriyle tablo “emüle” de edilebiliyor, ona da eyvallah. Bu esnada ne dediklerini bilmeksizin tablolar eski teknolojidir, tü kakadır, kullanan siteler güncel değildir diyenlere de aduket çekmek istiyorum.
Bu yazı tabloseverlere gelsin.

Çok trafik alan sitelerde ücretsiz tasarruf: Coral CDN
5 Eyl
Elektriklikedi’de yazdıklarımı yavaş yavaş buraya da alıyorum.
Konumuz çok trafik alan bir sitede bandwidthten tasarruf yolları. Büyük ihtimalle kullanılan multimedia içerikleri olabildiğince sıkıştırmak, statikleri GZIP ile sıkıştırmak, değişmeyen dosyalara 304 dönmesi için mod_cache kullanmak vb. bunları biliyorsunuz. Benim işim bilinmeyenlerle.
neler bitmiş