• 27-12-2006, 10:03:18
    #1
    Kurumsal PLUS
    PHP sayfalar yapmak, dinamik bakımdan birçok şey kazandırabilir. HTML ile yapılamayan birçok şeyi yapabileceğiniz için ve güvenli bir yazılım dili olduğu için, şu anda dünyada en çok tercih edilen dillerden birisidir, doğal olarak çalışma prensibi de HTML'den farklıdır. HTML sayfalara ulaşmak istediğinizde, karşı sunucu size sayfayı doğrudan gönderirken, PHP sayfalarda işler biraz daha karışır, ulaşmak istediğiniz PHP sayfayı sunucu server, değerlendirerek HTML'e çevirir ve size HTML dilinde bilgi yollar. Bu yüzden, HTML sayfaları kendi bilgisayarımızda doğrudan çalıştırabiliyoruz fakat PHP sayfaları çalıştırmak için bu dönüştürme işlemini yapan bir apache server kurmamız gerekiyor.

    Tutoriallerin devam eden bölümlerinde, bir PHP kitabı açıp ne okuyorsam onu yazmayacağım, çok daha kolay ve ezbersiz bir yol seçeceğim, benim de PHP konusunda daha 3 yıl öncesine birşey bilmediğimi varsayarsak, nasıl bu kadar çok ilerlediysem sizin de aynı şekilde ilerlemenizi sağlayacak bilgiler vereceğim. Bir kitap alsanız "şu kod şu işe yarar şöyle kullanılır bu kod bu işe yarar böyle kullanılır" şeklinde bütün kodların listesini görürsünüz fakat o kitap olmadan PHP yazmanız için 3-5 yıl geçmesi gerekebilir.

    Ben de şu anda çok aşırı bilgiye sahip olmasam da, size PHP konusunda kendinizi büyük bir hızla geliştirebilmenizi sağlayacak bilgiler vereceğim. Tabi ki, PHP için Macromedia Dreamweaver, phptriad, phpmyadmin(phpMyAdmin | MySQL Database Administration Tool | www.phpmyadmin.net) programları kesinlikle gerekli, özellikle phptriad bizim için gerekli olan apache server ve mysql veritabanı kurulumunu yapıyor.

    Phptriad, phpmyadmin ve Macromedia Dreamweaver gerekli demiştik, şimdi ilk olarak phptriad programını kurarak işe başlayalım. Programın kurulum dosyasını çalıştırdıktan sonra kurulum sırasında bir ayar yapmaya gerek kalmıyor, otomatik olarak kurulum tamamlanıyor. Kurulum bittikten sonra, bilgisayarınızı baştan başlattığınızda da apache sunucu artık bilgisayarınızda çalışabilir durumda olacaktır. Fakat bizim kullanacağımız uygulamalarda mySQL desteği de gerektiği için mySQL sunucusunun da ayarlarını yapalım.

    C:\apache\mysql\bin dizinindeki mysql yönetim programını çalıştırıyoruz. Programı ilk açtığımızda bizden kullanıcı adı ve şifre isteyecek, buraya yazdığımız kullanıcı adı ve şifre bütün veritabanlarımızın erişim şifresi olacak. Kullanıcı adı ve şifreyi yazdıktan sonra okeyleyip mysql serverin çalışmasına izin verin, bu ayarı bir daha yapmamız gerekmeyecek, program kısayolu başlangıca otomatik olarak yerleşiyor ve her bilgisayarı açışımızda otomatik olarak çalışıyor. mySQL serverımızın çalışıp çalışmadığını anlamak için saatin yanında simgesine bakıyoruz, trafik lambalarına benzeyen bir simge yeşil yanıyorsa sorun yok demektir.

    Mysql kurulumu da bittikten sonra sıra geldi dreamweaver’ımızı ayarlamaya. Bende dreamweaver 8 versiyonu olduğu için bu versiyona göre anlatıcam.

    Dreamweaver’ımızı kuruyoruz, programı açıyoruz, program kullanmaya hazır hale geliyor. Programla php uygulamalar kurabilmek için ilk olarak site yapmamız gerekiyor tabi. Phptriad kurarak apache sunucu oluşturduğumuzdan, “localhost” adresiyle ulaşabileceğimiz dizin c:\apache\htdocs oluyor. Yani anlayacağınız, browserımızı açıp localhost yazıp enterladığımızda bu dizini görüntülüyor. Hernyse, şimdi sitemizi oluşturalım.

    http://www.masalanlat.com/uploads/aadc507932.gif

    Resimde de gördüğümüz gibi site -> Manage sites bölümüne giriyoruz. “New -> Site” tıklayarak sitemizi oluşturmaya başlıyoruz.

    What would you like to name your site?

    Buraya site adını yazıyoruz, bu önemli bir şey değil, bu ayarı bir defaya mahsus olarak yaptığımız için ne yazarsanız yazın, bişeyler sallayın işte. Next diyoruz ve

    Do you want to work with a server technology such as ColdFusion, ASP.NET, JSP or PHP?

    diye kibarca soruyor dw(dreamweaver) bize. Yes diyoruz ve altta çıkan açılır menüden en alttaki PHP MySQL seçeneğini seçerek next diyoruz.

    How do you want to work with your files during development?

    sorusunu ise edit and test locally seçeneğini seçerek cevaplıyoruz. Onun altındaki
    Where on your computer do you want to store your files?

    Sorusunun cevabını da apache dizinimizi göstererek cevaplıyoruz, yani C:\apache\htdocs\ yazıyoruz ve next diyoruz.

    What URL would you use to browse to the root of your site?

    Siye sorulunca da http://localhost/ yazıyoruz.
    Not: Eğer apache server çalıştırmadıysanız “Test URL” butonuna bastığınızda hata mesajı alırsınız, hata mesajını önemsemeden ilerleyebilirsiniz.
    Next diyoruz ve çıkan uzun sorunun cevabına da(soruyu yazamıcam walla çok uzun) “no” diyerek geçiyoruz, ayarlarımızı gözden geçiriyoruz ve “Done” butonunu tıklıyoruz, Dreamweaver de sunucu dizinimizdeki dosyaları gözden geçiriyor ve gözden geçirme bitince, dreamweaver ile yapılacak ayarlarımız da bitmiş oluyor.


    Şimdi, PHP olayına gireceğimiz için phpmyadminimizi de güncelleyelim. C:\apache\htdocs\ dizinine gelerek buradaki eski sürüm phpmyadmin’i komple sildikten sonra, yeni indirdiğimiz phpmyadmin’in buraya açalım. Zipten çıktığı haliyle değil de, klasör adını değiştirerek phpmyadmin klasöründe atarsak daha rahat olur, localhost/phpmyadmin adresinden ulaşabiliriz. Bu işlemi de yaptıktan sonra, karışıklık olmaması için c:\apache\htdocs dizinindeki bütün dosya ve klasörleri silelim, sadece phpmyadmin klasörü kalsın.

    Phpmyadmini çalıştırdığınızda alt tarafta güvenlikle ilgili hata verebilir, bunu yoksayıyoruz çünkü phpmyadminin bahsettiği güvenlik açığıyla bir ilgimiz olmayacak, ne de olsa localhostta çalışıyoruz.

    phpmyadminin son sürümünü de yükledik, artık biraz dreamweaver’i tanıyarak basit php uygulamaları oluşturalım.

    Başlat menüsüne gelen phptriad menüsündeki start apache’yi tıklayarak sunucumuzu çalıştırıyoruz, açılan dos ekranını simge durumuna küçültüyoruz ve dreamweaver’ımıza geri dönüyoruz, bundan sonra dreamweaverden dw diye bahsedecem haberiniz olsun. Programı açınca kabak gibin ortada duram bölümden create new php seçiyoruz ve ilk dökümanımızı yaratıyoruz, PHP dışında başka bir tip seçersek dreamweaver’imizin php fonksiyonlarını kullanamayacağımızı unutmayalım.

    Sağ tarafta duran sütundan “Application” ‘u tıklıyoruz ve diğer açık olan sekmeleri kapatarak aşağıdaki resimdeki gibi sadece application sekmesinin açık olmasını sağlıyoruz.

    http://www.masalanlat.com/uploads/6770aa99f6.gif

    Şimdi de phpmyadmine girerek bir veritabanı yaratalım. Bildiğiniz gibi, yapacağımız web sitelerindeki bütün bilgi depolama işlerinde veritabanı kullanılıyor, mesela bu forumdaki bu tutorial, sizin bu sayfaya girmenizle birlikte forumun veritabanından çağırıldı ve karşınızda duruyor
    Browserımıza localhost/phpmyadmin yazarak phpmyadmine girdikten sonra yeni veritabanı yarat yazan yere veritabanımızın adını yazıyoruz ve veritabanımızı oluşturuyoruz. İsterseniz ilk aşamada deneme isimli bi veritabanı yaratın, ben deneme ismine göre anlatacağım.

    Veritabanımızı yarattıktan sonra dw’mize geri dönüyoruz ve açtığımız application bölümünün “database” sekmesindeki “+” butonunu tıklayarak veritabanımız için bağlantı dosyasını oluşturuyoruz. “+” butonunu tıklayınca çıkan MySQL Connection seçeneğini tıklıyoruz ve karşımıza açılan pencerede veritabanımızı tanımlıyoruz. Unutmadan şunu da söyliim, bu application bölümünün bütün sekmelerindeki “+” butonlarını yeni bişeyler eklemek için, “-“ butonlarını da bir şeyler silmek için kullanacağız.

    Evet, veritabanımızı tanımlayalım. Aşağıdaki resimlere göre ayarlarımızı yapıyoruz, burada dikkat etmemiz gereken şeyler ise, Connection name olarak yazacağınız şey bağlantı dosyası olacağı için Türkçe karakter kullanmıyoruz ve boşluk bırakmıyoruz, bir diğer nokta ise, kullanıcı adı ve şifre olarak, MySQL serverını ilk kurarken yazdığımız kullanıcı adı ve şifreyi yazıyoruz.

    http://www.masalanlat.com/uploads/9a2fee65ab.gif

    Eğer ayarlar doğru yapıldıysa, “test” butonunu tıkladığımızda başarıyla bağlantı kuruldu yazısını göreceğiz, eğer hata varsa ayarları tekrar gözden geçiriyoruz.

    dw üzerinde mysql bağlantımızı da tanımladık. Benim size tavsiyem, benim anlattıklarıma göre ezbere gitmeniz yerine yaptığınız her şeyi anlayarak yapmanızdır, çünkü giriş bölümünde de dediğim gibi bütün php kodlarını filan önünüze dökmeyeceğim için anlamadan yaparsanız, hiçbişey öğrenmemiş olursunuz ve tutorial'ı okumuş olursunuz, anlamadığınız şeyleri burada sorabilirsiniz.

    Şimdi, bağlantımızı tanımladığımıza göre, uygulamalara başlayalım. “Application” bölümünün “Server Behaviors” bölümüne geliyoruz. Buradaki bütün uygulamaları öğrenelim.

    Recordset: Veritabanındaki istediğiniz bir tablodan istediğiniz sıralamayla bilgi çağırmaya yarar. Bir recordset oluşturduktan sonra, “Bindings” sekmesinde bunu görebilir ve görünmesini istediğiniz bilgiyi sayfada görünmesini istediğiniz yere sürükle-bırak yaparak kodlarını yerleştirebilirsiniz.

    Repeat Region: Recordset oluşturduktan sonra, sürükle-bırak yaparak yerleştirdiğimiz kodu seçerek bu seçeneği kullandığımızda, recordset tablosunun sadece tek bir satırı yerine, istediğimiz sayıda satırını listeletebiliyoruz.

    Recordset Paging: Veritabanından çağırdığımız bilgileri sayfalamak için kullanıyoruz.

    Show Region: Sayfada seçtiğimiz herhangi bir yeri, istediğimiz seçeneklere göre görünür yada görünmez kılıyoruz.

    Display Record Count: Bir recordsetteki verilerin sayısını bununla göstertiyoruz.

    Dynamic Text: Sürükle-bırak işlemi ile aynı fonksiyona sahiptir.

    Insert Record: Sayfa içerisinde oluşturacağımız bir form aracılığı ile veritabanına bilgi göndermemizi sağlar, bu foruma yazı yazarken kullandığımız formlar gibi

    Update Record: Veritabanındaki bir bilgiyi düzenlememize yarar.

    Delete Record: Veritabanından bilgi silmemize yarar.

    User Authentication -> Log In User: Veritabanında bulunan kullanıcı bilgilerine göre bir login formu yaratmak için kullanıyoruz.

    User Authentication -> Restrict Access To The Page: Veritabanında bulunan kullanıcının yetki seviyesine göre, sayfanın kimler tarafından görüntülenmesine izin verilmesini buradan ayarlıyoruz.

    User Authentication -> Log Out User: Login olmuş kullanıcının sistemden çıkış yapabilmesi için gereken linki oluşturmak için bunu kullanıyoruz.

    User Authentication -> Check New Username: Insert record ile veritabanına bilgi yazdırırken, istediğimiz bir bilginin daha önceden eklenip eklenmediğini denetlemek için bunu kullanıyoruz. “Yazdığınız kullanıcı adı bir başkası tarafından alınmış” şeklindeki uyarıların çıkmasını sağlar.

    Temel bilgi edindiğimize göre, şimdi bunları örneklerle uygulamaya geçelim.

    phpMyAdmin’e giriyoruz ve önceden yarattığımız “deneme” isimli veritabanına, sol taraftaki sütündan tıklıyoruz, “Veritabanında tablo bulunamadı” uyarısı karşımıza çıkıyor, hemen altındaki formda İsim olarak “deneme_tablosu” ve Alan Sayısı olarak “3” yazıp “Git” i tıklıyoruz. Karşımıza çıkan formda, ilk satırın alan kısmına “id” yazıyoruz. Bu id anahtarı, satırları tanımlamak için kullanılacaktır. İsminin “id” olması şart değil ama, ben bu şekilde anlatıcam.. alan kısmına id yazdıktan sonra yanındaki “Tip” kısmından “BIGINT” seçiyoruz. BIGINT seçeneği, bu bölüme yalnızca sayı geleceğini anlatır. Bunu da yazdıktan sonra yanındaki “Boyut/Değerler” kısmına “255” yazıyoruz, bu da sayının maximum 255 haneli olabileceğini anlatır. Biraz yana kayıyoruz ve Ekstra kısmındaki “auto_increment” seçeneğini seçiyoruz. Bu da, satırları tanımlayan id anahtarlarının birbirinden farklı olmasını sağlar, eklenen her satırın id değeri bir öncekinden 1 büyük olur. Bunu da seçtikten sonra yan taraftaki anahtar resminin altındaki radyo butonunu(birincil) tıklıyoruz ve birincil ve tanımlama anahtarı olarak kullanılacak field(alan)i tanımlamış oluyoruz. Bir alt satırın Alan kısmına “ad” yazıyoruz, tabi ki siz uygulamalar yaratırken bu isimleri istediğiniz gibi seçebilirsiniz fakat örnek uygulamalarda bunları kullanacağız. Tip kısmından da “LONGTEXT” seçiyoruz, böylece bu fielde istediğimiz uzunlukta yazı geleceğini belirtmiş oluyoruz. LONGTEXT zaten sınırsız bir seçenek olduğu için, “Boyut/Değerler” kısmını boş bırakıyoruz. Alt satıra geçip Alan kısmına “soyad” yazıyoruz ve tipini de yine LONGTEXT yapıyoruz, böylece ilk tablomuzu yaratmak için tek yapmamız gereken şey alttaki “Kaydet” butonunu tıklamak oluyor. Butonu tıkladığımızda sol tarafta tabloyu görebiliyoruz.

    Örnek uygulama kullanmak için, tablomuza birkaç satır ekleyelim. phpMyAdmin’de tablo adını tıkladıktan sonra, üst taraftaki “Ekle” linkini tıklıyoruz. İd kısmı yani birincil anahtar dışındaki bilgileri, 2 formda da doldurarak en alttaki “Git” butonunu tıklıyoruz ve böylece tablomuza 2 satır eklemiş oluyoruz. Aynı şekilde tablomuza 2 satır daha ekleyerek, yani toplam 4 satır yaparak dw’ye geri dönelim.

    Şimdi, recordset ekleme seçeneğini kullanalım. Name olarak, istediğinizi yazabilirsiniz, isim sadece diğer recortsetlerle birbirine karışmasını engellemek için kullanılıyor. Deneme yazıp connection kısmından “denemebaglantisi” seçelim, bu da hangi bağlantı kullanılacağını tanımlıyor. Alt taraftaki table’dan da deneme_tablosu seçiyoruz, Columns= all seçiyoruz ve alt taraftaki Sort kısmından id, ascending seçerek okeyliyoruz ve ilk recordsetimizi yaratmış oluyoruz, recordsetin sabit kodları sayfamıza yerleşiyor. “Bindings” sekmesinde görebileceğimiz recordsetimizin de istediğimiz alanlarını sayfanın istediğimiz yerine sürükle-bırak yaparak gösterilmesini sağlıyoruz.

    Sürükle-bırak yaptıktan sonra, sadece tek bir satır görürüz. Sürükle-bırak yapınca gelen kodları seçerek Repeat Region seçeneğini kullanıyoruz ve diğer satırların da gösterilmesini sağlıyoruz.

    Önemli bir hatırlatma olarak şunu da yazayım, Insert Record kullanırken formda, id yani birincil tanımlama anahtarı için bir input oluşturmanıza gerek yok, auto_increment olduğu için otomatik olarak önceki satırdan bir büyük olacaktır.
    Update record yaparken de, id için bir input oluşturup value olarak, düzenlenmesini istediğiniz satırı belirtmeniz gerekir, aksi halde hangi satırın düzenleneceği anlaşılmayacağından update record kullanamayız.

    Diğer Behavior’ların kullanımını da siz deneyip öğrenin, ne de olsa artık veritabanında tablo yaratmayı biliyoruz. Kafanıza takılan her şeyi sorabilirsiniz.

    Dreamweaver ile bu şekilde basit uygulamar yaratabilirsiniz. Her oluşturulan kodu inceleyerek ve yapmak sitediğiniz(dreamweaver'in yapamadığı) şeyleri tutorial olarak araştırarak bulup yaparsanız eminim ki php mantığını kavrayabilirsiniz.

    Not: tutorial alıntı değil, kendi yazımımdır.
  • 27-12-2006, 11:38:02
    #2
    yazınızı tam okuyamadım. fakat teşekkürler. emek verilip yazılan güzel bir yazı. fakat şu cümle dikkatimi çekti. php için dreamweaver mutlaka gerekli demişsiniz. pek bir alaka kuramadım. dreamweaver sadece ufak tefek bir kaç işi kolaylaştırır. kaldı ki yeni başlayanların bunu bile kullanmamasını tavsiye ederim. pratik yapmak açısından.
  • 27-12-2006, 11:47:17
    #3
    Kurumsal PLUS
    altayalp adlı üyeden alıntı: mesajı görüntüle
    yazınızı tam okuyamadım. fakat teşekkürler. emek verilip yazılan güzel bir yazı. fakat şu cümle dikkatimi çekti. php için dreamweaver mutlaka gerekli demişsiniz. pek bir alaka kuramadım. dreamweaver sadece ufak tefek bir kaç işi kolaylaştırır. kaldı ki yeni başlayanların bunu bile kullanmamasını tavsiye ederim. pratik yapmak açısından.
    bunu sadece kodları renklendirme açısından söyledim, yeni başlayan birinin kodları rahatça ayırt edebilmesini sağlayan ve hatalar hakkında bilgi veren bir program olduğu için dreamweaver yeni başlayanlara çok faydalı olabilir diye düşünüyorum.
  • 27-12-2006, 12:05:20
    #4
    Çok güzel bir yazı olmuş emeğine sağlık ama dream hakkında pek sıcak bakmıyorum yeni başlayanlar için ağır ve karışık olabilir ve hazır tablolara alışılırsa ileride kod yerleştirilmesinde sorunlar yaşanabilir diye düşünüyorum. Ama yazın gerçektende çok güzel yol gösteriyor tekrar teşekkürler
  • 10-01-2007, 02:13:14
    #5
    Makale için çok tşkler.

    PHP az çok biliyorum ancak burda dediklerinizi yaptım veriyi ekrana bastırmak için ne yapmak lazım? ide göre veri ekrana bastırmak istiyorum mesela

    Saygılar
  • 11-01-2007, 22:37:56
    #6
    saol teşekrüler
  • 11-01-2007, 23:23:34
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bilisim06 adlı üyeden alıntı: mesajı görüntüle
    Makale için çok tşkler.

    PHP az çok biliyorum ancak burda dediklerinizi yaptım veriyi ekrana bastırmak için ne yapmak lazım? ide göre veri ekrana bastırmak istiyorum mesela

    Saygılar
    yeni recordset oluştur
    orada filter kısmını id seç

    veya url variable olarak çektir
  • 15-12-2008, 13:13:18
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Acaba resimleri yenileyebilir misiniz? Teşekkürler...
  • 15-12-2008, 17:27:02
    #9
    Resimler kırık...