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

    HTTP DEĞİŞKENLERİ (BİR KISMI)

    $SERVER_NAME

    Çalıştığımız sunucunun adını verir

    $DOCUMENT_ROOT

    Dosyayı çalıştırdığımız dizinin adını verir

    $PHP_SELF

    Localhosttan itibaren dosyanın adresini verir

    $REMOTE_ADDR

    Ziyaretçinin IP numarasını verir

    $SCRIPT_NAME

    Çalıştırılan Dosyanın Adını verir.

    $_GET

    GET metodu ile gelen verileri dizi değişkeni olarak içerisinde barındırır.

    $_POST

    POST metoduyla gelen verileri dizi değişkeni olarak içerisinde barındırır

    $SESSION

    Oturum nesnelerini içerisinde tutar. 4.1 den önceki PHP sürümlerinde bu yoktur bunun yerine $HTTP_POST_VARS kullanılır.

    $COOKIE

    Çerezlerin değerlerini içerisinde barındırır.

    $GLOBALS

    Bu http değişkeni dizi değişkeni içerikli bütün değişkenlerin yapısını içerisinde barındırır.

    $REQUEST_METHOD

    Çalıştırılan Dosyaya GET metoduyla mı yoksa POST metoduyla mı veri girişi yapıldığını gösterir. varsayılan değeri GET olarak gelir.

     

    ilk dört özelliği tek bir örnekle geçeceğim. KOD79

    ------

    <?php

    echo "<b>sunucu ismi:</b>  ".$SERVER_NAME;

    ?>

    <br><br>

    <?

    echo "<b>değişkeni çalıştırdığımız<br /> dosyanın dizini:</b> ".$DOCUMENT_ROOT;

    ?>

    <br><br>

    <?

    echo "<b>çalıştırdığımız dosyanın <br />localhosttan itiabaren yol adresi:</b> ".$PHP_SELF;

    ?>

    <br><br>

    <?echo "<b>ziyaretçinin ip numarası:</b>  ".$REMOTE_ADDR;

    ?>

    <br><br>

    <?echo "<b>çalıştırdığımız dosyanın adı:</b>  ".$SCRIPT_NAME;

    ?>

    ----

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    $_POST ve $_GET http dizi değişkenlerini formlarla birlikte gördük geçmiş örneklerden pekiştirebilirsiniz, $COOKIE nesnesini de Çerezler kısmında kullandık,

    ----

    $GLOBALS değişkenine bir örnek yapalım KOD80

    ----

    <?php

    foreach ($GLOBALS as $baslik => $ozellik) {

    echo "$baslik - $ozellik<br>\n";

    }

    ?>

    ----

    $SESSION ve $REQUEST_METHOD http değişkenlerini ileride kullanacağız.

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

    PHP İLE OTURUM (SESSION)

    Önemli bir konuya giriyoruz, oturum nedir? En kısa açıklamasıyla oturum ziyaretçinin web sitemize girdiği andan sitemizi terk ettiği zamana kadar geçen sürede sitemizin o kullanıcıyı tanıması, ona bizim istediğimiz şekilde muamele etmesidir diyebiliriz. Oturumu Çerezle karıştırmamak gerekir Çerez kullanıcının bilgisayarına attığımız text dosyalarıdır çerezlerden defalarca veri alırız, oturumda durum farklıdır olay şu şekilde cereyan eder ziyaretçimiz web sayfamıza girer işte o an oturum açılır PHP o ziyaretçiye bir oturum numarası verir ziyaretçi tarayıcısını kapatana kadar yada belirli bir süre geçene kadar (süreyi biz belirliyoruz) bu oturum numarasına dokunulmaz süre dolduğunda yada ziyaretçi sitemizden ayrıldığında o güvenlik numarası silinir.

    Windows kullananlar dikkat hangi sunucu php kombinasyonunu kullandığınızı bilmiyorum ama sunucunuzun dizininde /temp yada /tmp klasörü yoksa ve bu kısımdaki kodları çalıştıramıyorsanız ya sunucu programınızı kaldırıp apache2triad kurun ya da  aşağıdaki ayarları yapın:

    PHP Linux/unix sunucular üzerinde çalıştırılmak için geliştirilmiş daha sonra windows'a doğru esnetilmiş bir dil dolayısıyla dosya dizin işlemleri yada kayıt gerektiren ilgili tüm işlemlerde yüzümüzü linuxa yakın tutacağız, Linux geçici dosyalarını tmp klasöründe tutuyor biz de Windows ise C:\WINDOWS\TEMPklasöründe tutuyor iki tane yolumuz var eğer Windows'un temp klasörünü kullanacaksanız php.ini dosyanızı aratıp bulun not defteriyle açın ve session.save_path= yazan yerin karşısına yol olarak C:\WINDOWS\TEMP yazın yok eğer linuxtaki gibi olsun istiyorsanız sunucu programınızın ana dizinine tmp adında bir dizin oluşturun ve yine php.ini dosyasını açıp session.save_path= in karşısına dizin yolunu girin.

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

    oturumla ilgili örneklere geçmeden önce şunları bir öğrenelim:

    $PHP_SELF link olarak verdiğimizde çalıştırdığımız sayfayı açar yani çalışan dosyaya link olarak yine kendisini vermiş oluruz. Şöyle diyelim istanbuldan kalkan uçak ankaraya değil yine istanbula gider.

    session_start() oturumun başlatıldığını belirtir. session_register() komutu sessiona isim verip kaydetmemizi sağlar. isset komutu bir değişken tanımlanmış mı tanımlanmamış mı diye kontrol etmeye yarar

    ----

    önce isset komutunu görelim ve bu iki kodda tırnak kullanımına dikkat edin KOD81

    ----

    <?php

    $degisken = "değişkene vermek istediğin herhangi değer";

    if (isset($degisken))

    echo "değişken tanimlanmis"."<br>";

    else

    echo "değişken tanimlanmamis"."<br>";

    ?>

    ----

    şimdi konumuz tırnaklar değil ama yine de bu yazıma da dikkat edin iç içe geçme yoksa tek tırnakla da işi bitirebilirsiniz KOD82

    ----

    <?php

    $degisken = 'değişkene vermek istediğin herhangi değer';

     

    if (isset($degisken))

    echo 'değişken tanimlanmis'.'<br>';

    else

    echo 'değişken tanimlanmamis'.'<br>';

    ?>

    -----

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

    oturum için açıklamalı bir örnek verelim KOD83

    ----

    <?php

    /* session start yani oturum başlat */

    session_start();

    /* if eğer demektir isset kullanarak $_SESSION http dizi değişkeni içerisinde goster adında bir değişkenin olup olmadığını sorgulattık */

    if(isset($_SESSION['goster'])) 

    /* goster adında dizi değişkeni varsa 1 ekle dedik bunu depişkene kendini değer olarak atayıp 1 ekleterek yapıyoruz */

    $_SESSION['goster']= $_SESSION['goster']+1;

    /* goster adında dizi değişkeni yoksa oluşturup 1 sayı değerini veriyoruz yani böyle bir değişken yoksa burada oluşturmuş oluyoruz */

    else  $_SESSION['goster']=1;

    /* echo kısmının . ya kadar olan kısmı mesajımız noktadan sonraki kısmı oturum*/

    echo "Oturumun açıldığını kanıtlar şekilde saydır= ". $_SESSION['goster'];

    ?>

    <br>

    <a href="<?=$PHP_SELF?>">Sayfayı Yenile</a>

    -----

    başka bir örnek yapalım KOD84

    -----

    <?php

    /* session start oturumu başlatıyor  açıklamalarımı kesintisiz okuyun*/

    session_start();

    /*ünlem işaretinin olumsuz yaptığını hatırlayın şöyle diyoruz eğer saydir adında bir oturum açılmamışsa */

    if (!$_SESSION['saydir']) {

    /* oturumu parantez içindeki isimle kaydet bir satır alttakinden söz ediyorum*/

    session_register('saydir');

    /*if içerisindeki koşulum bitmedi $saydir değişkenine 1 sayı değerini ver çünkü onu sayaç olarak kullanacağım*/

    $saydir = 1;

    /*şimdi de daha önce saydir oturumu açılmışsa ne yaptırmamız gerektiğine bakalım*/

    } else {

    /* daha önce saydır oturumu açılmışsa $saydir değişkeninin değerini 1 artır */

    $saydir++;

    }

    /*Sayaç: yazmışız o kısma bakın ekrana isim takısıyla <?=$saydir?> ile $saydir ı görüntülemişiz echo komutu gibi kullanmışız, en altta verdiğimiz $PHP_SELF linki ise linke tıklandığında yine aynı sayfanın çalışması için kullanılmış. */

    ?>

    Sayaç: <b><?=$saydir?><br>

    <a href="<?=$PHP_SELF?>">TIKLA</a>

    ----

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

    oluşturulan bir oturumu silmek için session_unregister() kullanılır,

    oturum boyunca oluşturduğumuz bütün oturumları silmek için session_destroy() komutu kullanılır.

    Bir oturumun id sini görmek için session_id() kullanılır.

    KOD 85'e alt kısımdaki echo kısmında kullanılan değişkenleri incelemekle başlayın kodu önce aşağıdan yukarı sonra yukarıdan aşağı hızla tarayın daha sonra yazarak deneyin. Şöyle bir sonuç elde edeceğiz hangi araca tıklarsak o silinecek, işinizi kolaylaştırmak için kodu parça parça ayırdım kolay gelsin KOD85

    ---

    <?php

    session_start();

     #########BÖLÜM1#######

     session_register("tasit1");

     session_register("tasit2");

     session_register("tasit3");

     session_register("tasit4");

     session_register("tasit5");

     ########BÖLÜM2##########

     $tasit1="Otobüs";

     $tasit2="Uçak";

     $tasit3="Gemi";

     $tasit4="Tren";

     $tasit5="Otomobil";

     #########BÖLÜM3###########

     if ($sil == "Otobüs") {

      session_unregister("tasit1");

      }

     ##########################

     elseif ($sil =="Uçak") {

      session_unregister("tasit2");

      }

     ##########################

     elseif ($sil =="Gemi") {

      session_unregister("tasit3");

      }

     ##########################

     elseif ($sil =="Tren") {

      session_unregister("tasit4");

      }

     ##########################

     elseif ($sil =="Otomobil") {

      session_unregister("tasit5");

      }

     #########BÖLÜM4###########

      ?>

      <html>  <head>  <title> Oturum Yönetimi</title>  </head>

      <body>

      <?

      echo "Seyahatlerde Kullandığımız Araçlar: <br />\n";

     #######BÖLÜM5#############

      foreach ($_SESSION as $tasit) {

     ##########################

      if ($tasit)

     ##########################

      echo "<a href='$PHP_SELF?sil=$tasit'>$tasit</a><br />\n";

      }

     #######BÖLÜM6#############

      ?>

    </br>

    oturum id numarası:

    </br>

     <?

     #######BÖLÜM7#############

      echo session_id()

      ?>

      </body>

      </html>

    -----

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mustang1
    mustang1's avatar
    Kayıt Tarihi: 18/Ağustos/2007
    Erkek
    adalet  baba bi döküman yap şimdikini inceledim ama anlamadım toptan yap ben yeni başlıcam bana yardımcı olun bu konuları öğrenmeyi çok istiyom eline sağlık şimdiden saol kolay gele.

    UmUt Bu ToPrAkLaRdAn GiDeLi ÇoK OlDu...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek
    evt selamlar buraya kadar sorun varsa yazın gerisini tamamlıycam.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    adalet
    adalet's avatar
    Kayıt Tarihi: 04/Temmuz/2007
    Erkek

    NESNE TABANLI PROGRAMLAMAYA (OOP) GİRİŞ

    PHP5 Java karar kontrol mekanizmasını kullanır, Java Library PHP ile gelmez.  PHP Java karar kontrol mekanizmasını kullanarak Java Server Pages içerisinde Python, Perl dillerini kullanabilmemize olanak veriyor, oluşturacağımız nesneleri Java tabanına dayandırarak daha kısa kod, daha az hata mantığında profesyonel scriptler oluşturabiliyoruz.

     

    PHP Karar Kontrol Mekanizması

    try

    {

     Karar Kontrol

    }

    catch ( Hata  Olgusu)

    {

    Hata durumunda yapılacak işlem

    }

     

    örnek:

     

    <?php

    try

     {

    if (!fopen("metin.txt" , 'r'))

     throw new Exception("Dosya Açılamadı");

     }

    catch (Exception $a)

    {

    die("{$a->getMessage()}");

    }

    echo "Bağımsız"

    ?>

     

    gerekenler:

    throw new Exception yeni bir hata tanımlar.

    catch hata oluştuysa işlem yapar.

     

    getMessage() Exception kısmında tanımlanan hata mesajını verir

    getCode() Hata kodunu verir

    getFile() Hata oluşan dosya ve dizin adını verir

    getLİne() Hata satırını verir

    toString() tüm hata kodlamasını verir

     

    kod açılımı:

    4.satır koşul metin txt dosyasının açılamaması.

    5.satır yeni hatanın tanımlanması.

    7.satır hatayı yakala $a değişkenine ver.

    9.satır hata durumunda yapılacak işlem. getMessage değerini $a değişkenine yükle die mesajı olarak ver.

    11.Bağımsız işlem.

     

    örneğin stabilleştirilmesi:

    <?php

    function hatafonk($a)

     {

     $hatafonk = "Dosya adı : {$a->getFile()} <br>

     Hata Satırı : {$a->getLine()} <br>

     Hata Mesajı : {$a->getMessage()} <br>

     Hata Kodu : {$a->getCode()}";

     return $hatafonk;

     }

    try

     {

    if (!fopen("metin.txt" , 'r'))

     throw new Exception("Dosya Açılamadı");

     }

     

    catch (Exception $a)

    {

    die(hatafonk($a));

    }

    echo "Bağımsız";

    ?> 

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Alex_10
    Alex_10's avatar
    Kayıt Tarihi: 14/Eylül/2007
    Erkek
    Ustam senin burda anlattıklarının çoğu pascal programının yapısıyla benzer hatta çoğu yeri de aynı. Sadece bazı terimlerin bazı yerleri değişik şekillerde ifade ediliyor. Ben Pascal'ı allaha şükür iyi biliyorum program yazacak kadar. döngüler olsun, if then else kalıbı olsun, procedure function'ı olsun, dizileri olsun, tabloları olsun biliyorum. Ama şimdi ustam bi de bu işin tasarımı var yani biraz. Şimdi hem senin burda bahsettiklerinde hem de pascalda olsun daha çok matemetiksel işlemler üzerinde durulduğunu görüyoruz. Bunkarı bir de web sayfası yaparken kullanmayı sen bize gösterirsen eğer çok makbule geçer. Şimdiden çok teşekkür ediyorum.
Toplam Hit: 7938 Toplam Mesaj: 71