PHP"Ye Sıfırdan Giriş

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    TARİH FONKSİYONLARI

    date komutu oldukça fazla parametre barındırır bir tablo halinde görelim.

    a

    Saat için kullanıyoruz öğleden önce am öğleden sonra pm

    A

    Bir üsttekiyle aynıdır ama AM ve PM yazıları harf olarak büyük görünür

    d

    İki haneli gün sayısını verir "03,20" gibi

    D

    Üç haneli gün ismi verir "Sun" gibi

    F

    Ay adını verir "October" gibi

    g

    12 sayı formatında saati verir "2,12" gibi

    G

    24 sayı formatında saati verir "2,23" gibi

    h

    12 sayı formatında saati verir "02,08,12" gibi

    H

    24 sayı formatında saati verir "02,22"gibi

    i

    Dakikayı verir "00,21"

    I

    Gün ışığından tasarruf zamanını verir. Tasarruf zamanı varsa 1 yoksa 0 verir.

    j

    Gün verir.

    l

    Küçük L harfi Günün tam adı "Sunday" Gibi.

    m

    Ay sayısını verir "1,12"

    M

    Üç haneli ay adını verir "Oct" gibi

    n

    Ay sayısını verir "1,12"

    O

    Büyük O harfi Milletler arası saat farkını başlangıç meridyenine göre hesaplar "+300" gibi

    r             

    RCF formatında günün tarihini verir "Sun, 02 Sep 2007 10:25:21 +0300" gibi.

    s

    Saniyeyi verir

    S

    th ve nd karakterlerini verir İngilizcede .inci bilmem kaçıncı gibi.

    t

    Ayın kaç çektiğini verir

    w

    Haftanın gün sayısını verir

    W

    Yılın kaçıncı haftası olduğunu verir.

    y

    İki haneli yıl sayısını verir "03"

    Y

    Dört haneli yılı verir "2003"

    z

    Yılın gün sayısını verir. "1,228" gibi

    date için toplu bir örnek yapalım KOD69

    -----

    <?php

    $tarih = array();

    $tarih[saniye] = date("s");

    $tarih[dakika] = date("i");

    $tarih[saat] = date("G");

    $tarih[gun] = date("d");

    $tarih[hafta] = date("W");

    $tarih[ay]  = date("m");

    $tarih[yil] = date("y");

    foreach ($tarih as $deg_1 => $deg_2 ) {

       echo "$deg_2 : $deg_1, \n";

    }

    ?>

    ------

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

    date için yıl ay gün kullanımı örneği KOD70

    -----

    <?php

    echo date("Y/m/d");

    ?>

    -----

    parametreler arasına / koymak zorunlu değildir KOD71

    -----

    <?php
    echo date("Y/m/d");
    echo "<br />";
    echo date("Y.m.d");
    echo "<br />";
    echo date("Y-m-d");
    ?>
    ---
    dökümanın buraya kadar olan kısmında hep windowsa kurduğumuz local sunucumuza göre kod yazdık, dizinlerimizi buna göre verdik, elimizden geldiği kadarıyla da bu şekilde devam edeceğiz.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    Somut güzel bir örnek yapalım ayarlarımız ingilizce de olsa da tarihi Türkçe gösterebiliriz hem dizi değişkenlerine bakmış olalım hem de tarih fonksiyonuna örnek yapmış olalım. KOD72

    ----

    <?php

    $gunler = array(

    0=> "Pazar",

    1=> "Pazartesi",

    2=> "Salı",

    3=> "Çarşamba",

    4=> "Perşembe",

    5=> "Cuma",

    6=> "Cumartesi"

    );

    $aylar = array (

    1=> "Ocak",

    2=> "Şubat",

    3=> "Mart",

    4=> "Nisan",

    5=> "Mayıs",

    6=> "Haziran",

    7=> "Temmuz",

    8=> "Ağustos",

    9=> "Eylül",

    10=> "Ekim",

    11=> "Kasım",

    12=> "Aralık"

    );

    echo "Gün: <b>".$gunler[date('w')]."</b> ";

    echo "Ay: <b>".$aylar[date('n')]."</b> ";

    echo "Sene: <b>".date("y")."</b>";

    ?>

    ---

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

    mktime komutu geçmiş yada gelecek için tarih oluşturmamızı sağlar tarihin hangi kısmını artıracaksak yada azaltacaksak artırmak için +artırılacak sayı, eksiltmek için -eksiltilecek sayı şeklinde kullanılır, mktime saat, dakika, saniye, ay, gün yıl olarak sıralar. KOD73

    ----

    <?php

    /* d parametresini artıtarak bir gün ileri aldırmış oluyoruz. */

    $yarin_tarih = mktime(0,0,0,date("m"),date("d")+1,date("Y"));echo "Yarının Tarihi: ".date("Y/m/d/", $yarin_tarih);

    ?>

    ----

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    Tarih fonksiyonlarının kullanımı için sadece date kullanılmaz aynı işleri yaptırabileceğimiz bir diğer komut da getdate komutudur. getdate komutu için paremetrelerimiz.

    GETDATE PARAMETRELERİ

    seconds

    Saniyeyi verir

    minutes

    Dakikayı verir

    hours

    Saati verir

    mday

    Ayıngün sayısını verir

    wday

    Haftanın gün sayısını verir

    mon

    Yılın ay sayısını verir

    year

    Yılı verir

    yday

    Yılın Gün sayısını verir

    weekday

    Haftanın gününün adını verir

    month

    Yılın ay sayısını verir

     getdate için örnek yapalım KOD74

    ----

    <?php

    $gunler = array(

    0=> "Pazar",

    1=> "Pazartesi",

    2=> "Salı",

    3=> "Çarşamba",

    4=> "Perşembe",

    5=> "Cuma",

    6=> "Cumartesi",

    7=> "Pazar",

    );

    $gunu_soyle = getdate();

    echo "Bugün: <b>".$gunler[$gunu_soyle['wday']]."</br>";

    ?>

    ----

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Blacktron
    Blacktron's avatar
    Kayıt Tarihi: 03/Ekim/2004
    Erkek

    Tüm verdiklerini toparlayip acaab PDF veya DOC formatinda sunma imkanin yokmu?

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

    Tüm verdiklerini toparlayip acaab PDF veya DOC formatinda sunma imkanin yokmu?


    -----------------------------
    bu konuda gerekli açıklamayı daha önceki bölümlerde yaptım.

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

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

    PHP İLE ÇEREZLER (COOKIE)

    Çerezler kullanıcının bilgisayarına gönderdiğimiz text dosyalarıdır, bu dosyalar sayesinde kullanıcıdan bilgi alırız, Çerez göndermek ve okumak için setcookie komutunu kullanacağız. cookie komutundan sonra parantez içine girdiğimiz ilk veri  cookie ismi ikinci veriyse cookie nin değeridir.aşağıdaki kodu ilk çalıştırdığınızda sayfa boş gelecek ikinci kez çalıştırdığınızda ekranda tahribat yazacak.  KOD75

    ----

    <?

    setcookie(adalet,tahribat);

    echo $_COOKIE['adalet'];

    ?>

    ----

    KOD75 için uyarı: bu örneği Windows apachewebserver kullananların local hostta çalışması için hazırladık alanınızda çalışmazsa

    <?

    setcookie("adalet","tahribat");

    echo $_COOKIE['adalet'];

    ?>

    şeklinde uygulayın bu da çalışmazsa

    <?

    setcookie(‘adalet','tahribat');

    echo $_COOKIE['adalet'];

    ?>

    şeklinde deneyin, tırnaklar fark yaratıyor dikkat...

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

    Şimdi bir örnek daha yapalım isim değer ve tarih taşıyan bir cookie oluşturalım. dosyayı ilk çalıştırdığınızda cookie klasöründe tarikat cookie si bulunmadığı için ekranınıza mesaj ve link gelecek, dosyayı ikinci kez çalıştırdığınızda cookie klasörünün içinde tarikat cookie si bulunduğu için else kısmı devreye girecek. KOD76

    ----

    <?

    if ( ! $_COOKIE['tarikat'] ) {

    setcookie(tarikat,tahribat,time()+600);

    echo "Bilgisayarına Çerez Atıldı. Sayfayı yeniden yüklersen çerez seni tanıyacak<br />";

    echo "<a href='$PHP_SELF'>buraya tıklayın</a>";

    }

    else {

    echo "Hoşgeldin: <b>".$_COOKIE['tarikat']."</b> müridi.";

    }

    ?>

    ---

    KOD76 İle ilgili eksikleri kapatalım.

    $_COOKIE http dizi değişkeni cookie lerin değerlerini içerisinde barındırır. Eğer kullandığınız PHP sürümü 4.1 den eskiyse bu değişken çalışmaz bu durumda $_HTTP_COOKIE_VARS değişkenini kullanın eski sürümün cookie dizi değişkeni budur. time()+600 değerine dikkat edin, time bulunduğumuz zamanı saniyeye çevirir. Çereze zaman biçmek istiyorsak kullanırız mesela 3O dakika için 1 dakika 60 saniyeden 1800 değerinin girilmesi gerekir. 600 değerini 10 dakika için girdik. Eğer bir çerezin ömrünü 1 yıl yapmak istiyorsak şöyle yapabiliriz:

    setcookie("çerez ismi", "Çerez Değeri", time()+3600*24*365); çünkü 1 saat 3600 saniye, 24 ile çarparsak 1 günün tüm saatlerinin saniye toplamını ve bunu da 365 ile çarparak tüm yılı saniye cinsinden vermiş oluruz.

    ----

    Çerezler varsayılan olarak web sayfamızın url'sini taşır yani bir alt dizinde bu çerezi kullanamayız burada bir pametre ilave ederek bu sorunu aşıyoruz.

    setcookie("çerez ismi", "Çerez Değeri", time()+3600*24*365, "/");

    ilave ettiğimiz son parametreyle bu çerez tüm sitede kullanılabilir. Çerezi başka bir dizinde kullanacaksak dördüncü parametremiz "/dizinin_ismi" şeklinde olacak sadece bulunduğumuz dizinde kullanacaksak dördüncü parametreyi hiç kullanmıyoruz. Çerezlerin ömrü bittiğinde yani verdiğimiz süre dolduğunda otomatik olarak silinirler. Diyelim ki sayfa açıkken çerez etkin olsun ama ziyaretçi sayfayı kapatıp yeniden açtığında çerez silinsin bunun için time kısmına +1 girmemiz. yetecektir şu şekilde:

    setcookie("çerez ismi", "Çerez Değeri", time()+1, "/");

    böylece ziyaretçi sayfa açılırken tarayıcı çerezi siler illaki pozitif sayıyla ileri doğru saydırmamız da şart değil negatif bir sayı da aynı işi görecektir.

    Çerezlerin çok geniş kullanım alanı var örneğin sepet uygulamalarında ürünlerin silinmemesi için, bir ankate birden fazla oy verilmemesi için yada sadece kullanıcıyı tanıma amacıyla. Son söylediğimiz kullanıcıyı tanıma amacı kısmında bir uyarı yapalım çerez dosyalarında kullanıcı adı ve şifre saklamak tehlikelidir.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    PHP İLE SAYFA YÖNLENDİRME

    Sayfa yönlendirme işlemini html veya javascript kullanarak da yapabiliriz ama bu sistemler tarayıcı taraflı çalıştıkları için kulacısı tarayıcının dur tuşuna bastığında yada esc tuşuna bastığında yönlendirmeyi durdurabilir, php sunucu taraflı bir script olduğu için kullanıcının yönlendirmeyi durdurma şansı yoktur. KOD77

    -----

    <?php

    header("Location: http://www.tahribat.com/");

    ?>

    -----

    şöyle bir uygulama yapalım kullanıcı adı ve şifre girilmiş gibi olsun, olumlu sonuçta tahribata yönlendirelim. KOD78

    -----

    <?php

    $user="Deli Dumrul";

    $pass="12345";

    if ($user== "Deli Dumrul" || $pass=="12345") {

    header("Location: http://www.tahribat.com/");

    }else{

    echo "hata var";

    }

    ?>

Toplam Hit: 7923 Toplam Mesaj: 71