PHP"Ye Sıfırdan Giriş

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Arlong
    Arlong's avatar
    Kayıt Tarihi: 14/Şubat/2005
    Erkek
    adalet kitabın linkinide verirmisin
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    Arlong bu adresten çalışıyorum [http://www.w3schools.com/php/default.asp] karşılaştığım tüm zorlukları yazıyorum ki programlama bilmeden dökümana girenler benimle aynı sıkıntıları paylaşmasın zaten bu dökümanın amacı sıfırdan php ye girmek c bilen adamın bu dökümana ihtiyacı yok. Yazdıklarımı word dosyasında topluyorum bittiğinde üzerinden bir kaç kez geçip eksiklerini tamamlayacağım ve tek döküman haline gelecek. Hiçbir kitap sana tırnağıyla paranteziyle kılıyla tüyüyle bu kadar iyi öğretmez, mesela döngüleri ele alalım foreach döngüsünü herhangi bir kitap yada dökümanı açarsan döngülerle birlikte verir geçer sen orada array in ne olduğunu anlamaya çalışırsın oysa foreach ı arrayle birlikte verirsen ve bunu daha önce döngüleri yazdığın kısımda belirtirsen okuyan saatlerini boşuna harcamaz iki üç örnek fazladan yapar. Döküman bittiğinde html ve css bitiren herkes için özellikle de programlama bilmeyenler için başucu kitabı haline gelecek.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EntelKoylu
    EntelKoylu's avatar
    Kayıt Tarihi: 13/Eylül/2005
    Erkek

    www.turk-php.com

    www.pehepe.com

    buralarda güzel


    ANDY // Burası mezopotamya, küresel oyunun bumerang cehennemi. Tanrı bile dünya düzeni için peygamberlerini hep buraya göndermiş. Çünkü burası aslında yeryüzü cennetiymiş. Daha Fazla Bilgi İçin Profilimi İnceleyiniz...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Arlong
    Arlong's avatar
    Kayıt Tarihi: 14/Şubat/2005
    Erkek
    azrail_baba bunu yazdı:
    -----------------------------

    www.turk-php.com

    www.pehepe.com

    buralarda güzel


    -----------------------------
    ceviz.net üzerine tanımam eyvallah adalet
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KorteX
    KorteX's avatar
    Banlanmış Üye
    Kayıt Tarihi: 17/Ağustos/2006
    Erkek

    ajan1111 bunu yazdı:
    -----------------------------
    bir ara başladım. bayağı döküman ve video indirdim. okudum izledim ama herşeyden önemlisi vakit...
    -----------------------------

    ewet öle.. bende vakiiten dolayı calısamıyorum :) ;) 


    Yetim düşler bekçisi
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    Hatırlatma  /* açıklamaları yazın ekranda görünmez */ arasında kalan kısım yorum satırıdır ekranda görünmez çok satırda yoruma izin verir açıklamalarımın çoğunu kodun içerisine bu şekilde ilave ettim.

    -----------------------

    foreach her biri için demektir.

    foreach Döngüsü sadece dizi değişkenlerinin verilerini listelemek için kullanılır. Kodumuzu inceleyelim daha önce kodlara numara vermedim ama artık verelim aşağıdaki kodun numarası 30 olsun. Foreach ile as etmeyi öğrenelim.

    ------------------------

    <?php

    $dizim = array (

    //muhasebe programlarının isimlerinden bir dizi yapalım.

    1=> "Eta",

    2=> "Mikro",

    3=> "Logo",

    4=> "Netsis",

    5=> "Vega"

    );

    /*  as kelimesi $dizim dizisinin değerlerini $yenideger değişkenine yüklüyor dikkat etmemiz gereken husus şudur bir php dosyası içerisinde değişken ilk kez nerede geçmişse orada tanımlanmıştır yani değer yüklemeden önce değişken oluşturmak zorunda değiliz, değişkenin adı geçtiği anda oluşturulmuş demektir. yorum kısmına dikkat ettiniz mi slay yıldız yıldız slaj bu şekilde istediğiniz kadar uzun yorum ekleyebilirsiniz. */

    foreach ($dizim as $yenidegisken)

    /*  \n newline yani yeni satır anlamındadır düzenli ifadedir şimdilik kafanıza takmayın ilerde hepsini birden anlatacağım <br> ise bildiğiniz gibi alt alta göstermemizi sağlıyor. */

    { echo "$yenidegisken <br>\n";

    }

    ?>

    --------------------------

    Kod 30. çok önemlidir! foreach as ile $dizim değişkenindeki verileri  $yenidegisken değişkenine aktardık, Foreach döngümüz dizi değişkenindeki değer kadar döndü verileri listeledi.

    ------------------------------

    Kod 31. foreach kullanmadan listeleme yapmak

    ------------------------------

    <?php

    $dizim = array (

    1=> "Eta",

    2=> "Mikro",

    3=> "Logo",

    4=> "Netsis",

    5=> "Vega"

    );

    for ($sayac = 1; $sayac <= count ($dizim); ++$sayac ) {

    echo "$dizim[$sayac] <br />\n";

    }

    ?>

    -------------------------------

    Kod31 foreach'ın ne kadar değerli olduğunu anlamamız açısından muazzam bir örnek koda bakalım.

    Bir sayaç oluşturdum $sayac adını koydum 1 değerini verdim. count komutu kaç adet veri olduğunu sayar count ($dizim) dersem $dizim değişkeninin içindeki verileri sayar. for kısmına dikkatli bakalım döngüm $dizim değişkenimin değerine bakacak 1 veya 1 den fazla değer varsa $sayac değişkenimi artırmaya başlayacak ++$sayac kısmını görüyorsunuz.

    count kafanızı karıştırmasın count komutu sayılara bakmaz verileri adet olarak sayar yani adet sayısı önemlidir.

    echo kısmına bakalım. $dizim[$sayac] kısmına dikkat burada $sayac değişkenini köşeli parantez kullanarak $dizim değişkeninin içine atıyorum böylece dizim değişkeninin değerlerini listeletiyorum.

    ----------------------------------

    evet şimdi de hem verileri hem de sıra numaralarını listeleyelim uyarımızı yapalım => diye bir operatör yoktur. büyük eşit operatörü <= , küçük eşit operatörüdür. >= dir. bu  => ise dizi değişkenlerimizin sayılarını ifade ediyor aşağıya doğru 1,2,3,4 diye gidiyor ya işte onlar. Kod 32. bu kodu iyi inceleyin.

    ----------------------

    <?php

    $dizi = array (

    1=> "T90",

    2=> "ABRAM",

    3=> "LEOPARD",

    4=> "MERKAVA",

    5=> "ARIETTE",

    6=> "SABRA"

    );

    /* bir değişkenden iki değişken üreteceğiz => kullandıysak as tan sonra gelen değişken sayıyı alır => dan sonra gelen değer veriyi alır bundan daha açık anlatılabileceğini sanmıyorum.  */

    foreach ($dizi as $sayilarialandegisken => $verilerialandegisken) {

    //buradaki - işaretinin matematiksel bir anlamı yok sayı ve karşılık gelen metni ayırmak için kullanıyoruz.

                echo "$sayilarialandegisken - $verilerialandegisken <br>\n";

    }

    ?>

    ----------------------

    şimdiki örneğimizde de iki sıra numarası yapalım lütfen kodu yazarken dikkat edin, sıra numaraları değişkenle bitişik yazılır bunu da söyleyelim KOD 33. açıklaması içinde.

    ----------------------

    <?php

    $tanklar = array();

    $tanklar[2006][1] = "T90";

    $tanklar[2006][2] = "ABRAM";

    $tanklar[2006][3] = "ARIETTE";

    $tanklar[2005][1] = "LEOPARD";

    $tanklar[2005][2] = "MERKAVA";

    $tanklar[2005][3] = "SABRA";

    /*$tanklar as $yenidegisken kısmında $tanklar değişkeni tümüyle $yenidegisken değişkenine aktardık.

     iki tane sıra numaramız olduğu için ikinci bir foreach döngüsü kullanıyoruz kaç adet sıra kullanacaksak döngü sayısı o kadar artacaktır. Burada süslü prantezlere dikkat edelim.

     son olarak da echo komutuyla bunları ekrana yansıttık. */

    foreach ($tanklar as $yenidegisken ) {

    /* ikinci foreach kısmına gelelim $yenidegisken as $siranumarasi => $veriler yazarak $tanklar değişkenimizin sıra numaralarını $siranumarasi değişkenine, $tanklar değişkenimizin verilerini de $veriler değişkenine aktardık */

    foreach  ($yenidegisken as $siranumarasi => $veriler) {

    //son olarak da echo komutuyla bunları ekrana yansıttık

    echo "$siranumarasi - $veriler <br />\n";

    }

    }

    ?>

    -------------------------------------------------------

    kod 33 notları: kaç sıra no eklenecekse o kadar foreach döngüsü kullanılacak parantez süslü parantez yada tırnakları hatalı yazmamaya çalışın açtığınız her parantezin ve süslü parantezin kapatılması gerektiğini unutmayın.

    --------------------------------------------

     bu arada bir not ekleyeyim => aynen [] gibidir yani illaki sayı vermek zorunda değiliz Ahmet Mehmet yazsak da olur dökümanın bir bölümünde id gibi düşünün demiştim tam olarak öyle düşünün. Örneğin

    not=>

    ceza=>

    [not]

    [ceza]

    -------------------------------------

    ben örneklerimde array yazımlarını alt alta yaptım ama yan yana da yazılabilir yani bir kısıtlama yok ben sadece daha anlaşılır kılmaya çalıştım. yan yana yazıma örnek KOD34

    -----------------

    <?php

    $sayidizisi = array (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

    foreach ($sayidizisi as $ekrana) {

    echo "SAYI $ekrana <br/>\n";

    }

    ?>

    ----------------

    kod 35 ekranda günleri gösterelim

    ----------------

    <?php

    $gunler = array("Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cumartesi");

    foreach ($gunler as $ekrana)

    echo "$ekrana <br/>\n";

    ?>

    ----------

    dizilerle ilgili yapılabilecek birleştirme, silme yeni değer ekleme gibi onlarca işlem var ancak bunların hepsi soyut kalacağından şu anda bunlarla ilgili örneklere girmeyeceğim ileriye doğru gittikçe somut örneklerimiz çoğaldıkça bu bilgilere ihtiyacımız doğduğu anda örnekleriyle açıklayacağım.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    PHP İÇİNDE HTML SAYFALARIN GÖSTERİLMESİ

    ---------

    Başlamadan önce artık bir konu için birden fazla sayfayı birbirine bağlamamız gerekecek eğer KOD1-A, KOD1-B diye kod sıralaması vermişsem bunların hepsi KOD1 in konusuyla alakalıdır yeni bir dizin açın ve sayfaları aynı dizin içinde oluşturun.

    ---------

     Elimizdeki html sayfaları php olarak göstermek istiyorsak yapacağımız tek şey onların uzantısını php yapmak yani index.html nin uzantısını değiştirip index.php yapmak tabi sunucunuz php destekli olmalı!

    ----------

    Bir diğer metod ise include ettirmek yani içine almak. KOD 36 A html dosyamız olacak

    ----------

    <html>

    <head>

    <title>html dosyasını php içinde göstermek</title>

    </head>

    <body> okuduklarınız bir html dosyasının içeriğinin tümüyle alınmasından ibarettir </body>

    </html>

    ---------

    KOD36-A yı icerik.html olarak kaydedin.

    ---------

    KOD36-B php dosyamız olacak şimdi php dosyasını yazıyoruz

    ---------

    <?php

    include("icerik.html");

    ?>

    --------

    KOD36-B yi index.php olarak kaydedin.

    --------

    KOD 36 örnekleri nerede işimize yarayacak diye sorarsanız sizler html öğrenerek geldiğiniz için şimdiye kadar hazırlamış olduğunuz dosyalar html formatındadır. Daha önce hazırladığınız sitenizin anasayfa  dosyanızı (adı genelde index.html konulur) index.php dosyasının içine include ettirirseniz bütün siteniz php olarak görünecektir. Yani bütün sayfalar index.php içerisinden görüntülenecektir. İçerik yönetim sistemlerine eklenen sayfalar bu metotla içeriğe dahil edilir.

    ---------

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    PHP SAYFASINA PHP DOSYASI INCLUDE ETMEK

    ---------

    KOD37-A bu kodu gosterensayfa.php olarak kaydedelim

    ---------

     

    echo "aşağıda görmüş olduğunuz sayı başka bir php sayfasından alınan işlemin sonucudur
    ";

    include ("islem.php");

    ?>

    -----------

    KOD37-B bu kodu da islem.php olarak kaydedelim.

    -----------

     

    $sayi1 = 100;

    $sayi2 = 200;

    $islem = $sayi1 + $sayi2;

    echo $islem

    ?>

    -----------

    Kod37-A yı çalıştırıp sonucu görün. Kodu hatalı yazdıysanız ekrana bir şey gelmez buradan yapıştırarak hatalarınızı görebilirsiniz.

    -----------

    Php'de harici dosyaların uzantılarını htaccess'e tanıttıktan sonra istediğimiz gibi değiştirebiliriz. Bunu ileride göstereceğim. Genel tercih harici dosyaların uzantısının inc olmasıdır. Php sayfamız harici dosyayı işletirken dosyanın uzantısı ne olursa olsun sayfayı php komutlarını kullanarak işler ve görüntüler.

    ----------

     

    FORM İŞLEMLERİ GET POST METOTLARI

     

    Form gönderip alırken iki farklı metot kullanıyoruz. post ve get metodu html de form öğelerini öğrendiğinizi varsayarak dokümana devam ediyorum.

    <form action = "gönderileceği dosyanın adresi" method = "post">

    veya

    <form action = "gönderileceği dosyanın adresi" method = "get">

    bu metotlar arasında gönderilmelerinde ciddi farklılıklar var. Get verileri adres satırıyla gönderir örneğin:

    sayfa.php?numara=1148 gibi.

     

    Post metodu bilgileri şifreleyerek gönderir adres satırıyla göndermez. Get metodunu kullanabilmek için php ini dosyasını bulup register_globals yazan kısmı bulup off yazan kısmı on olarak değiştirmeliyiz.

    $_GET  get metodunun dizi değişkenidir get ile gelen tüm veriyi içinde barındırır $_POST  ise post metodunun dizi değişkenidir post ile gelen tüm veriyi içinde barındırır.

    ------------

    şimdi bir tane örnek vereceğim iki metodu da bu örnekle kavrayacaksınız

    -----------

    KOD39-A bu kodu  form ismiyle kaydedeceğiz.

    ---------

    <form action="merhaba.php" method="get">

    Adınız: <input type="text" name="isim" />

    Yaşınız: <input type="text" name="yas" />

    <input type="submit" />

    </form>

    ---------

    KOD39-B bu kodu merhaba ismiyle kaydedeceğiz.

    --------

    Hoşgeldin <?php echo $_GET["isim"]; ?>.<br />

    Vay canına <?php echo $_GET["yas"]; ?> yaşındasın!

    --------

    tarayıcınızdan form dosyasını çalıştırın adınız ve yaşınız kutularını doldurun sorguyu gönder düğmesine basın ve adres satırına da bakın. adres satırınızda merhaba.php?isim=adalet&yas=25 böyle bir adres yazar.

     

    Şimdi post metoduna gelelim yapacağımız şey iki dosyada get gördüğünüz yerleri büyük küçük hafr önemlidir! get gördüğünüz kelimeleri post olarak değiştirmek. Böylece post metodunu kullanmış olursunuz ve adres satırınızda sadece merhaba.php yazar.

     

    HTML'nin form elemanlarını biliyorsanız bu şekilde her türlü formu yaratabilirsiniz, işin özü yukarıda anlattığımız kadar.

    ---------

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    DOSYA DİZİN İŞLEMLERİ

    Bunlar işletim sisteminde yaptığımız yeni dosya oluşturma, silme, yeni dizin oluşturma gibi işlemler tabiî ki söz konusu php olunca formatımız ister istemez Linux'a kayıyor.  Örneklere geçmeden önce şu iki tabloyu biraz incelemenizi istiyorum.

     

    Sık kullanacağımız Komutlarna Bakalım

    is_file

    Dosya mı?

    is_dir

    Dizin mi?

    is_readable

    Okunabilir mi?

    is_writeable

    Yazılabilir mi?

    filesize

    Dosyanın boyutu?

    filetime

    Dosya yaratılma tarihi

    copy

    Dosya Kopyala

    diskfreespace

    Diskteki boş alan ne kadar?

    disk_total_space

    Diskte kullanılan alanın toplamı ne?

    unlink

    Dosya sil

    exec

    çalıştır

    Dosyalar İçin Okuma/Yazma Parametreleri

    r

    read   sadece okumak için kullanılır

    r+

    hem okumak hem yazmak için kullanılır

    w

    sadece dosya yazmak için kullanılır.Eğer dosya yoksa dosya yaratır, dosya varsa içeriğini siler

    w+

    dosya yazmak için kullanılır.Eğer dosya yoksa dosya yaratır, dosya varsa içeriğini siler ek olarak okuma da yapar

    a

    sadece okumak için kullanılır. Dosya yoksa dosya oluşturur, dosya varsa dosyanın içeriğini silmez, içeriğinden sonra yazmaya devam eder

    a+

    dosya yoksa dosya oluşturur, dosya varsa dosyanın içeriğini silmez, içeriğinden sonra yazmaya devam eder. Ayrıca yazma işi de yapar.

     

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    isterseniz php dosyalarını hangi klasörde çalıştırıyorsanız bende htdocs klasöründe çalışıyor onun içinde yeni bir klasör açın dosya dizin işlemleriyle ilgili örnekleri oraya kaydedin.

    ---------------

    KOD38 Bir dosyanın var olup olmadığını anlamak için file_exist komutunu kullanıyoruz kodun açıklaması içerisindedir.

    --------------

    <?php

     

     //$dosya isminde değişen oluşturduk tahribat.txt metin değerini verdik.

    $dosya = "tahribat.txt";

    /* file_exists dosyaya erişebiliyorsak anlamına geliyor. if koşuluna bağladık ve $değişkenine erişilebiliyormu sorduk */

    if ( file_exists ($dosya)) {

    // if koşulu gerçekleşiyorsa Dosya Mevcut yazacak     

                echo "Dosya Mevcut";

    // gerçekleşmiyorsa else yi çalıştıracak bu durumda     

                } else {

    // ekrana Dosya Mevcut Değil yazacak                       

                            echo "Dosya Mevcut Değil";

                }

    ?>

    --------------

    Ekranınızda Dosya Mevcut Değil yazmalı çünkü böyle bir dosya yok dolayısıyla erişemeyecektir.

    Şimdi yeni bir metin belgesi yaratıp ismini tahribat verelim ve tahribat metin belgemizi kod38 i kaydettiğimiz dizine atalım ve tarayıcımızda dosyamızı yeniden görüntüleyelim ekranınız da Dosya Mevcut yazmalı çünkü artık dosyaya erişebiliyor. KOD38'i iyi inceleyin diğer örnekleri KOD38'i şablon alarak götüreceğim

    ------------

    Sık Kullanacağımız Komutlar tablosu'nda verdiğim komutların bir kısmını uygulayarak pratik yapalım.

    -----------

    is_file içinde bulunduğumuz dizindeki dosya isminin gerçekten bir dosyaya ait olup olmadığını sınamamıza olanak verir. KOD39

    ------------

    <?php

    $dosya = "tahribat.txt";

    if ( is_file ($dosya)) {

                echo "Bu bir dosyadır";

                } else {

                            echo "Bu bir dosya değildir";

                }

    ?>

    ------------

    is_dir ismin bir klasöre ait olup olmadığını sorgular. KOD40

    ------------

    <?php

    $klasor = "tarikat";

    if ( is_dir ($klasor)) {

                echo "Sorguladığınız şey gerçek bir dizin";

                } else {

                            echo "Sorguladığınız şey gerçek bir dizin değil";

                }

    ?>

    -----------

    is_readable bir dosyanın erişilebilir ve okunulabilir olup olmadığını sorgular KOD41

    -----------

    <?php

    $dosya = "tahribat.txt";

    if ( is_readable ($dosya)) {

                echo "Bu dosya readable yani okunabilir niteliktedir";

                } else {

                            echo "Bu dosya okunabilir nitelikte değildir";

                }

    ?>

    ----------

    <?php

    $dosya = "tahribat.txt";

    if ( is_writeable ($dosya)) {

                echo "Bu dosya yazılabilir niteliktedir";

                } else {

                            echo "Bu dosya yazılabilir nitelikte değildir";

                }

    ?>

    ----------

    is_executable dosyanın çalıştırılabilir nitelikte olup olmadığını sorgular tabloya yazmayı unutmuşuz  KOD42

    ----------

    <?php

    $dosya = "tahribat.txt";

    if ( is_executable ($dosya)) {

                echo "Bu dosya çalıştırılabilir niteliktedir";

                } else {

                            echo "Bu dosya çalıştırılabilir nitelikte değildir";

                }

    ?>

    --------

    filesize bir dosyanın boyutunu öğrenmek için kullanılır KOD43

    --------

    <?php

    echo "Dosyanızın Boyutu: ",filesize( "tahribat.txt" )," BYTE";

    ?>

    -------

    KOD44 filesize a bir başka örnek

    -------

    <?php

    print ("Dosya boyutu:");

    print filesize( "tahribat.txt" );

    ?>

    ------

Toplam Hit: 7939 Toplam Mesaj: 71