1.                                                

ilk PHP çalışmamız ve CRUD

'Php' forumunda TosunPASA tarafından 12 Eylül 2018 tarihinde açılan konu

  1. TosunPASA

    TosunPASA Active Member

    Katılım:
    30 Mayıs 2015
    Mesaj:
    159
    Beğeniler:
    42
    Ödül Puanları:
    28
    Şehir:
    Belirtilmemiş

    <?php

    echo "Merhaba Dünyalı, Biz Dostuz";

    ?>



    Klasik İLK php örnek çalışması dır.
    kullandığınız web sayfalar içerisinde kullanacağınız kod ların php olduğunu belirtmeniz için gereken başlama ve bitiş tanımı

    <?php
    .....
    ?>


    şeklindedir.
    ve bir komut - işlem sonunda ; ile satır bitirilir.
    burda ben öncelikle html kod larım içinde php komutları kullanacağımı sisteme <?php ile belirttim.
    ve echo/print komutu ile " " arasında ne mesajı yazacaksam yazdım ve işlemin bittiğini de ; belirttim. ve son olarak artık php kodu yazmayı bitirdiğimi belirtmek içinde de ?> ile de kapayarak sonlandırdım

    ve kodu ister test.php içerisine yazın... veya htm/html dosyanızın body kısmına yazın sorun değil. eğer dosyayı konumlandırdığınız server / host noktasında bir apache-php yorumlayıcısı var ise sorunsuzca bizi selamlayan mesaj yazacak.

    <?php

    info;

    ?>

    kod aralığı ile de bulunulan host daki php - apache ye ait tam detay bilgisini görebilirsiniz
     
    MrX bunu beğendi.
  2. TosunPASA

    TosunPASA Active Member

    Katılım:
    30 Mayıs 2015
    Mesaj:
    159
    Beğeniler:
    42
    Ödül Puanları:
    28
    Şehir:
    Belirtilmemiş
    Sizleri selamladıktan sonra
    artık db işlemlerine başlayabiliriz
    kusura bakmayın. hayatım sürekli veriler ile ve bunların yapılandırılması ile geçtiği için, coder lar ile ilk muhabbetim veya YENİ bir yazılım/server gördüğümde onun DB kapasitesini incelerim. ilgim alakam bu maalesef. php yi db den ileri gitmeyen bir yazılım sanılmasın lütfen.
    en gelişmiş HIZLI video ve image proses işlemleri yine ffmpeg/imagemagic eklentileri ile sağlanmaktadır. tabiki bu benim bilgidiğim ücretsiz yazılımlar. linux ve php dünyasında niceleri var

    CRUD Nedir ?
    create, read, update ve delete kelimelerinin kısaltış hali olup var olan datalar üzerine yapılacak işlemlerin genel isimlendirilmesi olup tüm veri proseslerinin genel isimlendirilmesidir.
    Hani diğer topic de her php ye başlayan kişinin adres rehberi yazmasını öneriyordum ya... bu konuda emin olun. hem en kolay bilindik verileri içeriri hemde en karmaşık çözümleri bulmanızı sağlar. her php ye başlayanın kendisine özel bir adres rehber yazılımı olmasını isterim. Akıl akıldan üstündür.

    şimdi adres rehberi ni oluşturma.. arkasına kayıt girme..... create etme; akabine bir veri var/yok ise bunu ekranda görebilme; var olan veri üzerinde update denilen değişiklik yapma ve işi biten verilerin delete silinme işleminin yapılması gerekiyor

    temel olarak tüm veri tabanı işlemleri crud dan oluşur. sayfaya ekleyeceğiniz objeler kompenentler şu bu hepsi aslında crud işlemini görsel - basit - hızlı - çok farklı veri görüntüleme/işleme üzerinedir.

    tabiki bu işlemleri yapabilmek için öncelikle kullandığınız OS üzerinde apache - php - mysql gibi servislerin olması gerek. xampp gibi wamp gibi easy php gibi free yazılımlar ile windows ortamında kullanacağınız gibi... linux içerisinde de xampp kurabilir veya php çalıştırmak için genel isimlendirmesi LAMP olan, linux apache mysql php nin kurulması gerekir.
    eğer bir macos kullanıyor iseniz ... ki mac sistemler ilgim ve tecrübeme girmemek ile birlikte daha çok wamp kullandıklarını eğitim video larında gördüm. araştırabilirsiniz. aramayı da "php instal on mac" "php for mac" "install php on mac" gibi farklı aramalar sizi aynı sonuca götürecektir.

    şimdi...
    ben xampp üzerine anlatacağım. (https://www.apachefriends.org/)

    windows da xampp kurduktan sonra hata mesajı alabilirsiniz. bu genellikle sanal sistemler veya aktif team viewer gibi yazılımların 443 gibi portaları ortak kullanması veya vmware in aktif host dosyalarının blokajı ile olabilmektedir.

    şahsen ben bu tür çalışmalarım için özel pc im olmadığı ve mevcut sisteme de müdahele etmek istemediğim için; vmware içinde win7 ile sanal bir sistem kuruyorum
    c diski için 10gb gibi bir alan yeterli olurken ben 2. bir 10gb disk ekleyerek çalışamaları bu 2. disk üzerinde ve PORTABLE çalışan xampp ile devam ettirmeyi tercih ediyorum. başka yerde de paylaşmış olabilirim.. olabildiğince portable yazılımlar tercih ediyorum. buna firefox da dahil. chrome da opera da dahil. sebebi ise.. windows a format atma veya sistem göçme durumunda bu yazılımlar diğer diskde olduğu için hiçbir veri kaybı yaşamadan devam ediyorum. bir tek chrome da sorun yaşıyorum. windows u yeniden kurduktan sonra eklentiler uçuyor. toplamda 3-4 eklentisi olduğu için (addblock - clear cache - flush dns - undo tab - bazen de vpn).. kolayca yüklenebiliyorlar.

    sizlere de imkanınz var ise php çalışmalarınızı sanal sistemlerde devam ettirmenizdir. hatta linux kullanıyor bile olsanız php kodlamayı sanal bir sistemde devam ettirmeniz. sonuçda kali ile penetration test leri yaparken sistem farklı servis ler ile blokaj yaşayabilir veya farklı config ler isteyebilir. herhangi bir karşı saldırıda çalışmalarınız da korunmuş olur. ama web master / coder olmayı düşünüyor iseniz :p sistem tüm performansı ile size ait olsun...
    sanal sistemlerin avantajı şu... kod yazılım esnasında 4gb ram verdiğiniz sisteme... daha sonra 512mb a çekerek hız performansını ölçebilirsiniz. bunu da unutmayın.

    crud a ger dönelim

    xampp ımızı kurduk ve çalıştırdık. (tercihen) firefox açalım ve localhost/phpmyadmin diye gerekli sayfaya ulaşalım.
    bu tür yazılımlarda 1 adet kullanıcı vardır. oda root.. şifresi de BOŞTUR... wamp-da da bu şekildedir.

    evet.. dol tarafda db listesi ve sistem hazır.
    hemen yeni bir create db diyerek işleme başlayalım
    bizde yeni db nin adını isteyecek.. tercih sizin olmak ile birlikte... adres yazıp, hemen sağındaki kullanacağınız dil i seçmeniz gerek.... utf8_genaral_ci seçmeniz önerilir. GO ile işleme devam ederiz ve bize db mizin adı solda kalacak şekilde bir servis sağlar
    örnek bir çalışma

    [​IMG]

    tabiki bende çok aşırı bir db-tablo var. bununda sebebi.. halen başkaları tarafından yazılan örnekleri indirip inceliyorum.
    aynı tablo isimleri ama field ları da aynı olunca ister istemez farklı db açıp denemeler karışmasın diye... burdaki kurs db si, izmirden bir coder öğretmen arkadaşdan kendi verilerimizi saklamak için oluştuduğumuz örnek çalışma.
    neyi tutuyoruz burda... ders aldığım tarih.. yapılan dersin içeri ne idi .. ödemeye bağlı kalan ders süresi nedir gibi

    yine aynı db deki users tablosunun içeriğini göstermek istedim
    [​IMG]

    nelerimiz var. (field isimlerini yazmak ve türünü bilerek seçmek bize kalmış)
    id dediğimiz, kendisi auto büyüen numaralardan oluşan kayıt numarasıdır.
    kullanıcı tablosu olduğu için username ve password (md5 ile şifrelenerek saklanan kullanıcıya ait şifre). bir db admin bile olsanız bu değerin ne olduğunu bakarak anlayamazsınız. buda herkes için bir güvenlik çeşidi.
    username olmasına rağmen isim ve hitab gibi 2 farklı veri ekledim. user1 veya root un kim olduğunu bilmek istiyor isem... veya sistemde bir birine benzer çok kullanıcı olacağından kim olduğunu bilmek istiyor isek... hitab ı şahsen kendim için ekledim.. css alanı içinde 2 farklı veriri aynı anda yerleştirdiğimde küçücük user alanı ne olacak diye...
    yetki_id dediğim alan ise, her kullanıcı için bir yetki seviyesi belirledim. root-admin-coadmin-mod-user gibi farklı seviyeleri görsteren ve verisini yetki tablosundan alan
    act ise... ben biraz fazla kontrol meraklısı biriyim. asla veri silinmesini veya işe yaramıyor bile olsa bir verinin silinmesini sevmiyorum. sonuçda çok büyük bir db ye sahib değilim. ve henüz log yapılandırmasını da bilmediğim için.. kullanıcı bir veriyi delete ile sildiğinde ben delete komutu çalıştırmak yerine update komutu ile o veri id sine ait bu act (default u 1 olan) değeri 0 yaptırarak.. tabiki tüm sorgularda where alanına da act=1 yazdığım için... 0 değeri ekrana gelmeyeceği için...

    çok aşırı büyük bir db yapısında maalesef bunu yapmanız durumunda db niz GEREKSİZ şişecek sorunalr artacaktır. o durumda şunu yapıyorsunuz. ya aynı db içerisinde veya 2.bir db açarak Kullanıcı LOG bilgilerini tutarsınız.. yani.. filan kullanıcı şu zaman aralığında şu veriyi güncelledi. eski veri şu gibi gibisine yapılan CRUD işlemini log olarak kayıt ettirebilirsiniz.. tabiki bir satırlık kayıt içinde 10 field var ise hepsinin eski yeni verisini kaydettirmek size kalmış.. ama genelde şişmesin diye sadece id ve kullanıcı bilgileri kayıt ediliyor. benim gibi minik db ler ile uğraşacak iseniz... act=0 diyerek :p

    şimdilik bu kadar.. mesai dahilinde yapacağım işler var..
    crud ile tablo yapısı ve sayfaları ilerleyen zamanda paylaşacağım
     
    MrX bunu beğendi.

Bu Sayfayı Paylaş

Share