Oca 23
Samashing Magazine sitesi Php uygulama geliştiricilerin kesinlikle işine yarayacak 50 adet kullanışlı bir araç listesi oluşturmuş. Liste kategorilendirilmiş. Aradığınız veya ihtiyacını olan bir çok şeyi bu listede bulabilirsiniz.
Hata Ayıklama Araçları
Test ve Optimizasyon Araçları
Dökümantasyon Araçları
Güvenlik Araçları
Resim ve Grafik Oluşturma Araçları
Php Kod Düzenleyiciler
Versiyon Kontrol Sistemleri
Kullanışlı Eklenti, Uygulama ve Kütüphaneler
Online Php Araçları ve Kaynakları
Php Frameworkler
Php Editörleri ve IDE’ler
Ara 22
Php sayfaları arasında POST veya GET metoduyla gelen değerleri veya sayfa içindeki dizi veya nesnelerin alt elemanlarıyla beraber değerlerini taşımak için aşağıdaki yöntemi kullanabilirsiniz.
form.html // Form verilerinin POST metodu ile gönderileceği form sayfası.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form</title>
</head>
<body>
<form action="islem1.php" method="POST">
Adı : <input type="text" name="adi" size="30"><br>
Soyadı : <input type="text" name="soyadi" size="30"><br>
Email : <input type="text" name="email" size="50"><br>
Telefon : <input type="text" name="Telefon" size="30"><br>
Şehir : <select name="sehir">
<option>İstanbul</option>
<option>Ankara</option>
<option>İzmir</option>
</select><br>
<input type="submit" value="Gönder">
</form>
</body>
</html>
islem1.php //Formdan POST metoduyla gelen değerler islem2.php dosyasına aktarılacak.
<?
$param=base64_encode(serialize($_POST));
$link = 'islem2.php?data='.$param;
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1. Adım</title>
</head>
<body>
<a href="<?=$link?>">2. Adıma Geç</a>
</body>
</html>
Burada form verilerini aktarmak için php’nin serialize ve base64_encode fonksiyonlarını kullanıyoruz. Serialize fonksiyonu bir değişken(dizi veya nesne) içindeki değerleri string’e dönüştürür. base64_encode fonksiyonu ise verilen değeri 64 bit olarak şifreler ve yine string bir değer oluşturur. Oluşturduğumuz bu string değeri sayfalar arasında taşımak, formdaki her bir değeri ayrı ayrı yazıp taşımaktan daha kolaydır. Hatta bazı durumlarda değişkenlerde değişebileceği için bu yöntem daha sağlıklı olacaktır.
<?
$renk[0]='mavi';
$renk[1]='kırmızı';
$renk[2]='yeşil';
$data = serialize($renk);
echo $data;
//a:3:{i:0;s:4:"mavi";i:1;s:10:"kırmızı";i:2;s:6:"yeşil";}
$data=base64_encode($data);
echo $data;
//YTozOntpOjA7czo0OiJtYXZpIjtpOjE7czoxMDoia8Sxcm3EsXrEsSI7aToyO3M6NjoieWXFn2lsIjt9
?>
islem2.php //islem1.php sayfasındaki form değerleri bu sayfaya aktarıldı.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>2. Adım</title>
</head>
<body>
<?
if(isset($_GET['data']))
{
$_POST=unserialize(base64_decode($_GET['data']));
echo 'Adı : '.$_POST['adi'].'<br>';
echo 'Soyadı : '.$_POST['soyadi'].'<br>';
echo 'Email : '.$_POST['email'].'<br>';
echo 'Şehir : '.$_POST['sehir'].'<br>';
}
?>
</body>
</html>
islem1.php dosyasından aktarılan değerleri yeniden kullanabilmemiz için yaptığımız işlemlerin tersini gerçekleştirmemiz gerekiyor. base64_encode ile şifrelediğimiz veriyi base64_decode fonksiyonu ile dönüştürüyoruz. serialize ile string hale dönüştürdüğümüz verieri de unserialize ile dönüştürüyoruz. Artık değişkenlerimizi sayfa içerisinde kullanabiliriz.
Ara 03
PHP’nin yaratıcısı ve geliştiricisi Zeev Suraski ile PHP dilinin aktif geliştiricilerinden biri olan Derick Rethans, 24 Ocak 2009‘da Taksim Nippon Otelde düzenlenen web programcıları platformu etkinliği için Türkiye’ye geliyorlar.
Golden Horn Ventures’un liderliğinde gerçekleştirilen etkinlik hakkında bilgi almak ve diğer katılımcıları görmek için www.webprogramcilariplatformu.org adresini ziyaret edebilirsiniz. Etkinlik programı için buraya, kayıt yaptırmak için buraya.
Web programcılarının kaçırmaması gereken bir etkinlik…
Şub 15
Web uygulamalarında çoğu zaman bir listenin sıralamasını kullanıcı seçimi doğrultusunda sunmak gerekir. Favori kataplar, müzikler v.s Bu listelerdeki sıralamayı kullanıcıya göre ayarlamak için de genellikle “Yukarı Taşı”,”Aşağı Taşı”,”En Üste”,”En Alta” gibi butonlar koyup kullanıcının her seferinde sadece bir adım atlayarak sıralamayı yapmasını isteriz. Bir başka yöntemde listedeki her satıra textbox koyup sıralamanın bu kutulardaki sayılara göre ayarlanmasıdır. Kullanıcı sıralamayı tek adımda oluşturacak olsa da hesaplama yapmak zorunda kalacağı için bu yöntem de kolay olmayacaktır.
Bu yazımızda gelişen javascript ve ajax yöntemleri sayesinde sürükle-bırak yöntemini kullanarak böyle bir sıralamayı daha kolay bir şekilde nasıl yapabileceğimizi göreceğiz. Listedeki bir elemanı sürükleyerek sırasının değiştirilmesini, bıraktığımızda ise veritabanına listedeki yeni sırasının kaydedilmesini sağlayacağız. Tüm işlemleri (sürükle-bırak, efektler, ajax ile veri kaydı) Prototype ve Scriptaculous js frameworklerinden faydalanarak yapacağız. Devamını Oku »
Şub 05
Mysql’de uzun OR sorgularından bizi kurtaran IN fonksiyonundan daha önce bahsetmiştik. Php’de IN fonksiyonunun tam karşılığı olmasa da aynı şekilde işimize yarayacak olan bir kullanım şekli:
$degisken='php';
if(in_array($degisken, array('linux', 'apache', 'mysql', 'php')))
{
echo 'www.lampforweb.com';
}
Oca 31
Dün siteye Php Kaynak başlıklı yazımızı eklediğimde yazının eklenme tarihinin 31 Ocak 2008 olarak belirlendiğini farkettim. Oysa olması gereken tarih 30 Ocak 2008 idi. Hemen wordpress Tercihler menüsüne baktım. Zaman dilimi (2) doğru görünüyordu fakat tarih ve saat yanlıştı. Hemen sistem tarihine baktım.
date
Wed Jan 30 15:05:48 PST 2008
Sistemde tarih ve saat doğru görünüyordu. Worpressten kaynaklanan bir sorun olduğunu düşünmeye başladım. Kodları biraz inceleyince wordpressin tarihi gösterirken date() fonksiyonu yerine gmdate() fonksiyonunu kullandığını gördüm. gmdate fonksiyonu tarihi Greenwich Mean Time (GMT)‘a göre geri döndürüyor ve sistemin GMT zaman dilimi PST (Pacific Standard Time) olarak ayarlanmış. (Aslında ayarlanmamış
sunucu yurtdışında bulunduğu için zaman dilimi ayarı bu şekilde kalmış.) Sistemin zaman dilimi PST olduğu için gmdate fonksiyonu da yanlış bir tarih döndürüyordu. Doğru tarih ve saat için sistemin zaman diliminin aslında EET (Eastern European Time) olması gerekiyordu.
Linux sistemlerde bu ayar /etc/localtime dosyası tarafından sağlanıyor. /usr/share/zoneinfo/Asia/Istanbul dosyasını /etc dizininin altındaki locatime dosyasına sembolik link ile bağlayarak zaman dilimi EET olarak düzeltilebiliyor.
ln -sf /usr/share/zoneinfo/Asia/Istanbul /etc/localtime
komutu ile sistemin zaman dilimini EET yapıp, tarihi de daha önce anlattığımız şekilde düzeltince sorun düzeldi. Bu işlemi yaptıktan sonra sisteminizdeki servisleri(Apache, Cron, Mysql v.s) yeniden başlatmak gerekiyor. Saat dilimleri hakkında daha fazla bilgi almak için buraya.
Oca 23
Php 5 ile birlikte php projelerinin çoğu nesne tabanlı bir yapıya geçmeye başladı. Daha anlaşılır bir yapı, daha esnek kod yapısı, daha kolay kod yazımı bunda en büyük etken. Sayıları ve yetenekleri giderek artan php frameworkler (Hazır nesnelerden oluşan iskelet) ise işleri daha da kolaylaştırıyor. En çok bilinenleri Zend Framework, CodeIgniter, CakePHP ve symfony. Listenin tamamı aşağıda. Yapmanız gereken sizin isteklerinize cevap verebilen frameworkü seçmek. Devamını Oku »
Tem 17
Daha önce acil ihtiyaçtan hazırlanmış ve sizlerle paylaşılmış olan “haftanin_gunu” fonksiyonunu geliştireceğimizi söylemiştik, ve geliştirdik! Sizlere afiyetle kullanmanız için “tarihFormat()” fonksiyonunu hazırladık. Fonksiyonumuz “2007-07-16 18:32:00″ formatında verilen tarihi; ay adı, haftanın günü, saat ve farklı formatlar şeklinde kullanabilmemizi sağlıyor. Eğer fonksiyonumuza herhangi bir tarih değeri göndermez isek fonksiyonumuz otomatik olarak bugünün tarihini baz alarak işlem yapıyor. Fonksiyonda tanımlı olan formatları ihtiyaçlarınıza göre değiştirebilir veya çoğaltabilirsiniz.
Devamını Oku »
Tem 15
Projelerimizde sıkça ihtiyaç duyabileceğimiz konulardan biri olan veritabanındaki veriler ile dinamik açılan kutular oluşturma için güzel bir örnek.
Devamını Oku »
Tem 10
Yeni başlayanlar ve acil ihtiyacı olanlar için php ile haftanın gününü alabileceğiniz küçük bir script. İlerleyen zamanlarda detaylı bir tarih fonksiyonu gelebilir.
<a href="http://www.lampforweb.com/index.php/php/php-ile-haftanin-gunu/#more-13" class="more-link">Devamını Oku »</a>
Son Yorumlar