İnternet Tabanlı Programlama Uygulama Notları

33 %
67 %
Information about İnternet Tabanlı Programlama Uygulama Notları
Education

Published on September 26, 2014

Author: cmkandemir

Source: slideshare.net

Description

Eskişehir Osmangazi Üniversitesi Eğitim Fakültesi B.Ö.T.E Bölümü İnternet Tabanlı Programlama Dersi Uygulama notları.

    Internet Tabanlı  Programlama Dersi –  Uygulama Notları    2014 EYLÜL,2014  CELAL MURAT KANDEMİR  ESOGÜ | Eğitim Fakültesi – B.Ö.T.E 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  İçindekiler 1  Web Sunucusu Önemli Yapılandırma Dosyaları .............................................................................. 5  1.1  Önemli Yapılandırma Dosyaları ve Ayarları ............................................................................. 5  1.1.1  httpd.conf ........................................................................................................................ 5  1.1.2  php.ini .............................................................................................................................. 5  1.1.3  Diğer Yapılandırma Ayarları ............................................................................................. 6  1.2  PHP Sürüm Bilgisi (uygulama1‐1.php) ..................................................................................... 8  1.2.1  Ekran Çıktısı ..................................................................................................................... 8  1.3  PHP Sürüm 2 (uygulama1‐2.php) ............................................................................................ 9  1.3.1  Ekran Çıktısı ..................................................................................................................... 9  2  PHP Program Yapısı ve Değişken Tanımlamaları ........................................................................... 10  2.1  HTML Kodundan PHP’yi Ayırmak (uygulama2‐1.php) ........................................................... 10  2.1.1  Ekran Çıktısı: .................................................................................................................. 10  2.2  Açıklama Satırları ................................................................................................................... 11  2.3  Değişkenlerle İlgili Örnekler................................................................................................... 11  2.4  Değişken Türleri (uygulama2‐2.php) ..................................................................................... 13  2.4.1  Ekran Çıktısı ................................................................................................................... 14  2.5  Tür Değiştirme (uygulama2‐3.php) ....................................................................................... 15  2.5.1  Ekran Çıktısı ................................................................................................................... 17  2.6  Değişken Türü Kopyalama (uygulama2‐4.php) ..................................................................... 18  2.6.1  Ekran Çıktısı ................................................................................................................... 20  2.7  Sabit Değişken Tanımlama .................................................................................................... 20  2.7.1  Ekran Çıktısı ................................................................................................................... 21  3  Operatörler .................................................................................................................................... 22  3.1  Aritmetik İşlem Operatörleri ................................................................................................. 22  3.2  Atama Operatörleri ............................................................................................................... 22  3.3  Karşılaştırma Operatörleri ..................................................................................................... 23  3.4  Mantıksal Operatörler ........................................................................................................... 24  4  Dizi Değişkenler ............................................................................................................................. 26  4.1  Dizi Tanımlama ve İndis Kullanımı ......................................................................................... 26  4.2  Çok Boyutlu Diziler ................................................................................................................ 28  4.3  Dizi Değişken Fonksiyonları ................................................................................................... 30  4.3.1  unset() ve print_r() ........................................................................................................ 30  4.3.2  count() fonksiyonu ve for döngüsü ............................................................................... 30 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  4.3.3  foreach ile döngü kontrolu ............................................................................................ 31  4.3.4  array_unique() ............................................................................................................... 31  4.3.5  array_pop ve array_push .............................................................................................. 31  4.3.6  array_shift ve array_unshift .......................................................................................... 31  4.3.7  array_search ve array_sum ........................................................................................... 32  4.3.8  array_reverse ................................................................................................................ 32  4.3.9  array_merge, array_diff ve array_intersect .................................................................. 32  4.3.10  array_map ..................................................................................................................... 33  4.3.11  array_values, array_keys, each, array_flip, array_rand, array_slice, array_walk ......... 33  4.3.12  array_key_exists ............................................................................................................ 34  4.3.13  array_fill ......................................................................................................................... 34  4.3.14  explode, implode ........................................................................................................... 34  4.3.15  current, next, prev, end ................................................................................................. 35  4.3.16  Dizi Sıralama Fonksiyonları ............................................................................................ 35  5  Program Denetimi ......................................................................................................................... 36  5.1  IF … ELSE Kontrol Yapısı ......................................................................................................... 36  5.2  SWITCH CASE YAPISI .............................................................................................................. 38  5.3  FOR DÖNGÜSÜ ...................................................................................................................... 41  6  Form İşlemleri ................................................................................................................................ 46  6.1  GET Metodu ........................................................................................................................... 46  6.1.1  GET Örnekler ................................................................................................................. 46  6.2  POST Metodu ......................................................................................................................... 49  6.2.1  POST Örnekler ............................................................................................................... 49  6.3  Genel Örnekler ...................................................................................................................... 54  6.3.1  Basit Bir Üyelik Kayıt Ekranı ........................................................................................... 54  6.3.2  Kişisel Bilgi Formu .......................................................................................................... 54  6.3.3  Yorum Ekleme ............................................................................................................... 55  6.3.4  Dosya Yükleme .............................................................................................................. 56  6.3.5  Yemek Sipariş Formu ..................................................................................................... 57  6.3.6  Hidden (Gizli) Parametre Kullanımı ............................................................................... 58  6.3.7  Program Arama Formu .................................................................................................. 59  7  Fonksiyonlar .................................................................................................................................. 60  7.1  Fonksiyon Örnekleri ............................................................................................................... 60  7.2  Varsayılan Değerli Fonksiyonlar ............................................................................................ 61 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  7.3  Global Değişkenli Fonksiyonlar .............................................................................................. 63  7.4  Statik Değişkenli Fonksiyonlar ............................................................................................... 64  7.5  String Fonksiyonları ............................................................................................................... 66  7.6  Matematiksel Fonksiyonlar ................................................................................................... 70  7.7  Zaman Fonksiyonları .............................................................................................................. 73  8  Dosya ve Klasör İşlemleri ............................................................................................................... 77  8.1  Dosya İşlemleri ...................................................................................................................... 77  8.1.1  include() Fonksiyonu ..................................................................................................... 77  8.1.2  file_exists() Fonksiyonu ................................................................................................. 77  8.1.3  is_dir() is_file() Fonksiyonları......................................................................................... 78  8.1.4  realpath(), is_readable ve is_writable  Fonksiyonları .................................................... 78  8.1.5  is_executable Fonksiyonu ............................................................................................. 78  8.1.6  filesize() ve touch() Fonksiyonları .................................................................................. 79  8.1.7  unlink() Fonksiyonu ....................................................................................................... 79  8.1.8  Dosya Açma/Kapama (fopen() ve fclose() Fonksiyonları) ............................................. 79  8.1.9  Dosyadan Okuma (feof(), fread(), fgets()) ..................................................................... 80  8.1.10  Dosyaya Yazma (fwrite(), fputs()) .................................................................................. 80  8.2  Dizin İşlemleri ........................................................................................................................ 81  8.2.1  Dizin  Oluşturma ............................................................................................................ 81  8.2.2  Dizin  Silme .................................................................................................................... 81  8.2.3  Dizin İçeriği Listeleme .................................................................................................... 81  8.3  Dosya Yükleme ...................................................................................................................... 82  9  MySQL ve phpMyAdmin ................................................................................................................ 86  9.1  root Parola Belirleme ............................................................................................................ 86  9.2  Yeni Veritabanı Oluşturma .................................................................................................... 88  9.3  Dışa Aktar / İçe Aktar ............................................................................................................. 91  10  PHP ve MySQL – Basit Telefon Rehberi ..................................................................................... 95  10.1  Kayıt Listeleme ...................................................................................................................... 95  10.2  Kayıt Ekleme .......................................................................................................................... 96  10.2.1  Header(“refresh”) yöntemi ile yönlendirme ................................................................. 97  10.2.2  Header(‘Location’) yöntemi ile yönlendirme ................................................................ 97  10.3  Kayıt Düzenleme .................................................................................................................... 98  10.4  Kayıt Silme ............................................................................................................................. 99  11  PHP ve MySQL – Doğum Günü Uygulaması ............................................................................ 100 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  11.1  PHP ve MySQL Veri Tabanı Bağlantısı (dbbaglanti.php) ...................................................... 100  11.2  Doğum Günü Uygulaması Ana Ekran ................................................................................... 100  11.3  Yeni Kayıt Ekranı .................................................................................................................. 101  11.3.1  Bilgi Girişi ..................................................................................................................... 101  11.3.2  Yeni Kayıt Ekleme ........................................................................................................ 102  11.4  Kayıtların Listelenmesi ......................................................................................................... 103  11.5  Kayıt Güncelleme ................................................................................................................. 104  11.5.1  Kayıt Güncelleme  Ekranı – Güncellenecek Kayıt Seçimi ............................................. 104  11.5.2  Kayıt Güncelleme Ekranı – Veri Tabanı Güncelleme ................................................... 105  11.6  Kayıt Silme ........................................................................................................................... 106  11.6.1  Kayıt Silme Ekranı – Silinecek Kayıt Seçimi .................................................................. 106  11.6.2  Kayıt Silme Ekranı – Veri Tabanı Silme ........................................................................ 107  12  PHP ve MySQL – Okul Veritabanı ............................................................................................ 108  13  Çerez Kullanımı ve Oturum Yönetimi ...................................................................................... 109  13.1  Çerezler ................................................................................................................................ 109  13.1.1  Çerez Oluşturma .......................................................................................................... 109  13.1.2  Çerez Kullanımı ............................................................................................................ 109  13.1.3  Çerez Silme .................................................................................................................. 110  13.2  Oturum Yönetimi (Session) ................................................................................................. 110  13.2.1  Session Oluşturma ....................................................................................................... 110  13.2.2  Session Kullanma ......................................................................................................... 111  13.2.3  Session Silme ............................................................................................................... 111  13.2.4  Tüm Sessionları Silme .................................................................................................. 112  13.2.5  Basit Üyelik Sistemi ...................................................................................................... 112     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  1 Web Sunucusu Önemli Yapılandırma Dosyaları   1.1 Önemli Yapılandırma Dosyaları ve Ayarları 1.1.1 httpd.conf       httpd.conf dosyası Apache sunucusu yapılandırma dosyasıdır. Apachenin yapılandırma dosyaları [Apache Kurulumunun Yapıldığı Klasör]Apache2conf dizininde bulunur. Buradaki httpd.conf dosyasında değişiklik yaparak web sunucu yapılandırmasını yapabilirsiniz. Apache, web sitelerine ait sayfaları [Apache Kurulumunun Yapıldığı Klasör]Apache2htdocs klasörü altına koyar, kolaylık olsun diye bunu da değiştirebilirsiniz. Örneğin c:www şeklinde bir klasör kullanmak isterseniz, httpd.conf dosyasında DocumentRoot “[Apache Kurulumunun Yapıldığı Klasör]Apache2htdocs” değerini DocumentRoot “C:/www” olarak değiştirip, apacheyi tekrar başlatmanız yeterlidir. MoWes taşınabilir sunucusunda web sitelerne ait sayfalar [MoWes Kurulumunun Yapıldığı Klasör]www klasörü altında bulunur. Kurulum tamamlandığında httpd.conf dosyası içindeki değiştirilmesi gereken değişken değerleri aşağıdaki tabloda verilmiştir. Değişken adı Eski Değer Yeni Değer ServerRoot "C:webSunucuapache2" "....webSunucuapache2" DocumentRoot "C:webSunucuwww" "....webSunucuwww" <Directory …> "C:webSunucuwww" "....webSunucuwww" Bu ayarları yaptıktan sonra MoWes taşınabilir sunucu klasörü istenilen herhangi bir yere kopyalanabilir ve taşınabilir (başka bir klasör, sabit disk veya taşınabilir sakalama birimi) ve çalıştırılabilir. 1.1.2 php.ini   Yapılandırma dosyası (php.ini) PHP başlatıldığında okunur. PHP'nin sunucu modülü sürümlerinde bu işlem bir kereliğine HTTP sunucusu başlatıldığında gerçekleşir. MoWes taşınabilir sunucusunda [MoWes Kurulumunun Yapıldığı Klasör]php4 ve [MoWes Kurulumunun Yapıldığı Klasör]php5 klasörleri altında bulunur. Hangi PHP sürümü

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  kullanılacaksa ilgili klasör altındaki php.ini dosyasında değişiklikler yapılır ve sunucu durdurulup tekrar başlatılır.     php.ini dosyasında yaklaşık olarak 530-540. Satırlar arasında bulunan display_errors = Off değişken değeri display_errors = On olarak değiştirilerek yazılan php sayfalarında hata oluştuğunda tarayıcı ekranında hata mesajının yazdırılması sağlanır. 1.1.3 Diğer Yapılandırma Ayarları     Apache sunucusu için bir diğer önemli yapılandırma dosyası ise .htaccess dosyasıdır. htaccess dosyası (hypertext access file), klasör(ler) düzeyinde Apache‘nin ayarlanmasına izin veren, http sunucusu genel ayar dosyasını (httpd.conf) özelleştirebilen dosyadır. Dosya “.htaccess” olarak geçmektedir. Sitenizin kaynaklarını tüketen, sitenizden veri çeken linkler (hotlinking) engellenebilir, sitenizi ziyaret eden zararlı botlar engellenebilir, site üzerinde gizli

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  klasörler oluşturulabilir, klasörlere erişim engellenebilir, URL’deki bağlantı adresleri biçimlendirilebilir. Örnek olarak “makale.php” “makale.html” olarak, “makale.php?id=5” “makale-kuresel-isinma-id-5” gibi düzenleme yapılabilir, veri sıkıştırma için kullanılabilir, dosya veya klasörlere şifre eklenebilir, hata sayfalarını özelleştirilebilir, klasörleri listelemede kullanılabilir, yönlendirmelerde kullanılabilir, hangi dilin kullandığı saklanabilir, site için otomatik alt alan adları(subdomainler) oluşturulabilir. htaccess dosyası site için çok önemli bir dosyadır. Bu dosya ile arama motoru optimizasyonu, bant genişliğinin optimum kullanılması, güvenlik önlemleri, erişim ayarları ve daha birçok ayar yapılabilmektedir. Her dosyanın çağrılışında .htaccess dosyası incelenir. Bu nedenle htaccess dosyasını küçük tutmada fayda vardır. .htaccess dosyasının kuralları, üst dizinlerdeki htaccess kurallarını, o dizin için değiştirebilir. (Ayrıntılar için bkz: http://www.mikropsoft.net/2011/09/htcaccess-dosyasi-kullanimi/)   Varsayılan ayarlara sahip bir .htaccess dosyası içinde aşağıdaki satırlar bulunur. DENY FROM ALL ALLOW FROM 127.0.0.1 Bu ayarlara göre web sunucunuza sadece 127.0.0.1 ip adresinden erişilebilir. Başka ip adreslerinden de web sunucusuna erişim izni verilmek istenirse, MoWes arayüzünde aşağıdaki değişikliklerin yapılması gereklidir. Yukarıdaki ayarlara sahip bir .htaccess dosyası içinde aşağıdaki satırlar bulunur. ORDER ALLOW,DENY Eğer web sunucusuna erişim izni verilecek ve verilmeyecek (yasaklı ip) ip adresleri varsa bu ip adreslerinden izin verilecek olanlar “Allow access from the following IPs” bölümüne, izin verilmeyecek olanlar da “Deny access from the following IPs” bölümüne “New” düğmesi yardımıyşa eklenip, “Delete” düğmesi yardımıyla da çıkarılabilirler. Yukarıdaki ayarlara sahip bir .htaccess dosyası içinde aşağıdaki satırlar bulunur. ORDER ALLOW,DENY DENY FROM 192.168.1.20 ALLOW FROM 192.168.1.10

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  1.2 PHP Sürüm Bilgisi (uygulama1-1.php)   1.2.1 Ekran Çıktısı  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  1.3 PHP Sürüm 2 (uygulama1-2.php)    1.3.1 Ekran Çıktısı

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  2 PHP Program Yapısı ve Değişken Tanımlamaları Aşağıdaki bölümlerde bulunan PHP kodları yazarak, sunucuda ilgili klasör altına kayıt ediniz ve tarayıcınızda sayfaya istekte bulunarak php kodun ekran çıktılarını elde ediniz. 2.1 HTML Kodundan PHP’yi Ayırmak (uygulama2-1.php)   2.1.1 Ekran Çıktısı:  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  2.2 Açıklama Satırları   2.3 Değişkenlerle İlgili Örnekler    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR         

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  2.4 Değişken Türleri (uygulama2-2.php)    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  2.4.1 Ekran Çıktısı  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  2.5 Tür Değiştirme (uygulama2-3.php)  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR   

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  2.5.1 Ekran Çıktısı  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  2.6 Değişken Türü Kopyalama (uygulama2-4.php)  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR   

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  2.6.1 Ekran Çıktısı   2.7 Sabit Değişken Tanımlama

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  2.7.1 Ekran Çıktısı

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  3 Operatörler 3.1 Aritmetik İşlem Operatörleri   3.2 Atama Operatörleri    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  3.3 Karşılaştırma Operatörleri      

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR        3.4 Mantıksal Operatörler    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR           

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  4 Dizi Değişkenler 4.1 Dizi Tanımlama ve İndis Kullanımı      

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     Aşağıda tanımlı dizileri, ekran çıktılarını elde edecek şekilde php kod içinde kullanınız.     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  4.2 Çok Boyutlu Diziler     Yukarıdaki 2 farklı kod aynı çok boyutlu diziyi tanımlar.       

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR      4.3 Dizi Değişken Fonksiyonları   4.3.1 unset() ve print_r()   4.3.2 count() fonksiyonu ve for döngüsü   

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  4.3.3 foreach ile döngü kontrolu     4.3.4 array_unique()     4.3.5 array_pop ve array_push   4.3.6 array_shift ve array_unshift  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  4.3.7 array_search ve array_sum   4.3.8 array_reverse     4.3.9 array_merge, array_diff ve array_intersect    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  4.3.10 array_map   4.3.11 array_values, array_keys, each, array_flip, array_rand, array_slice, array_walk  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  4.3.12 array_key_exists   4.3.13 array_fill   4.3.14 explode, implode  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  4.3.15 current, next, prev, end   4.3.16 Dizi Sıralama Fonksiyonları sort(); ve rsort(); diziyi elemanların değerlerine göre alfabetik sıralarlar, anahtarlarını yeni sıralamaya göre düzenlerler. sort ile düzalfabetik sıralama, rsort ile ters alfabetik sıralama yapılır. asort(); ve arsort(); fonksiyonları da diziyi eleman değerlerinin alfabetik sıralamasına göre düzenler fakat anahtarlarını değiştirmez. Aynı şekilde düz sıralama için asort, ters sıralama için arsort kullanılır. ksort(); ve krsort(); diziyi elemanların anahtar değerlerine göre sıralarlar ve anahtarları değiştirmezler. ksort artan sıralama, krsort azalan sıralama yapar.  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  5 Program Denetimi 5.1 IF … ELSE Kontrol Yapısı    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR      5.2 SWITCH CASE YAPISI      

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR           

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  5.3 FOR DÖNGÜSÜ          

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR         

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR       

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR         

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  6 Form İşlemleri 6.1 GET Metodu   Yukarıdaki formda bulunan bilgilerin okunacağı kayit.php dosyasını yazınız.  6.1.1 GET Örnekler    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR       

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  6.2 POST Metodu   Yukarıdaki formda bulunan bilgilerin okunacağı anket.php dosyasını yazınız.  6.2.1 POST Örnekler    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR         

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR       

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    6.3 Genel Örnekler 6.3.1 Basit Bir Üyelik Kayıt Ekranı   6.3.2 Kişisel Bilgi Formu  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    6.3.3 Yorum Ekleme  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  6.3.4 Dosya Yükleme    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  6.3.5 Yemek Sipariş Formu    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  6.3.6 Hidden (Gizli) Parametre Kullanımı  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  6.3.7 Program Arama Formu    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  7 Fonksiyonlar 7.1 Fonksiyon Örnekleri    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR      7.2 Varsayılan Değerli Fonksiyonlar  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR       

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  7.3 Global Değişkenli Fonksiyonlar      

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    7.4 Statik Değişkenli Fonksiyonlar      

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  7.5 String Fonksiyonları      

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  7.6 Matematiksel Fonksiyonlar    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  7.7 Zaman Fonksiyonları    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR       

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  8 Dosya ve Klasör İşlemleri 8.1 Dosya İşlemleri 8.1.1 include() Fonksiyonu   8.1.2 file_exists() Fonksiyonu  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  8.1.3 is_dir() is_file() Fonksiyonları   8.1.4 realpath(), is_readable ve is_writable Fonksiyonları   8.1.5 is_executable Fonksiyonu  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  8.1.6 filesize() ve touch() Fonksiyonları   8.1.7 unlink() Fonksiyonu   8.1.8 Dosya Açma/Kapama (fopen() ve fclose() Fonksiyonları)  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  8.1.9 Dosyadan Okuma (feof(), fread(), fgets())     8.1.10 Dosyaya Yazma (fwrite(), fputs())  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  8.2 Dizin İşlemleri 8.2.1 Dizin Oluşturma   8.2.2 Dizin Silme   8.2.3 Dizin İçeriği Listeleme  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  8.3 Dosya Yükleme      

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    9 MySQL ve phpMyAdmin PHP’de veritabanı işlemlerine girdiğimiz için MySQL kullanımından bahsedeceğiz. MySQL e  erişebilmek için tarayıcınızın adres satırına http://localhost/phpmyadmin/ yazınız.    MoWes Kurulumunda root kullanıcısına ait parola boştur. Bu yüzden eğer bir parola belirtilmemişse  phpmyadmin’e  bağlanırken  yukarıdaki  gibi  bir  ekranla  karşılaşılmayabilir.  Kimlik  doğrulamasından  sonra phpMyAdmin uygulamasının ana sayfasına aşağıdaki ekranda görüldüğü gibi erişilebilir.    9.1 root Parola Belirleme MySQL veritabanı sunucusu ilk kurulduğunda varsayılan olarak root kullanıcısı ile beraber  gelmektedir. Bu kullanıcıya şifresiz giriş izni verilmektedir. Ancak bunu yukarıdaki resmin alt kısmında  bulunan uyarı mesajında da görebileceğiniz gibi düzeltmeniz istenmektedir. Bunu düzeltmek için root  kullanıcısına bir şifre vermelisiniz. root kullanıcısına şifre vermek için yukarıdaki pencerede bulunan  Yetkiler linkine tıklayınız.  Açılan aşağıdaki pencerede root kullanıcının yanındaki Yetkileri Düzenle linkine tıklayınız. 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    Açılan aşağıdaki pencerede parolanızı belirleyip Git demelisiniz. Bunu yaptıktan sonra phpMyAdmin'i  kullanmaya çalıştığınızda şifre hatası verecektir.   

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR      phpMyAdmin şifre hatasını düzeltmek için [mowes kurulumunun yapıldığı  dizin]wwwphpmyadminconfig.inc.php dosyasına belirlediğiniz şifreyi aşağıdaki gibi girmelisiniz.    9.2 Yeni Veritabanı Oluşturma Veritabanları bölümündeki açılır menüde üzerinde işlem yapacağımız veritabanlarını seçebiliyoruz. Bir  sonraki örneğimizde kullanacak olduğumuz veritabanını gelin şimdi oluşturalım. 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  Bunun için phpMyAdmin ana ekranında yer alan “Yeni veritabanı oluştur” bölümünden oluşturacak  olduğumuz veritabanının adını giriyoruz. Biz “deneme” olarak belirledik. Ve “Oluştur” butonuna  tıkladık.    Veritabanımız başarıyla oluşturulduktan sonra sol kısımda bulunan “Veritabanları” bölümünde de  oluşturduğumuz veritabanının adını görebiliriz. Bu bölümden veritabanımızı seçelim. Şu an  veritabanımızda herhangi bir tablo bulunmamaktadır. Yeni bir tablo oluşturalım. İsim kısmına  oluşturacak olduğumuz tablonun adını, Alan sayısı kısmına da tablomuzda olacak olan alan sayısını  belirleyelim ve “Git” butonuna tıklayalım. Unutmadan hatırlatayım. Veritabanı isimlerinde, tablo yada  alan isimlerinde Türkçe karakter kullanmamaya dikkat edelim.    Çıkan sayfada alan isimlerini, tiplerini ve boyutlarını belirliyoruz. Biz birincil anahtar (Primary Key)  olarak ID isimli alanı belirttik. Bu alan otomatik sayı özelliğine sahip olmalı. Bu özelliğe sahip  olabilmesi için ilgili alanın “Ekstra” isimli sütunundaki açılır menüden “auto_increment” özelliğini  seçiyoruz. Son olarak da bu alanın birincil anahtar özelliğine sahip olabilmesi için “Ekstra” sütununun  hemen yanında bulunan anahtar simgesinin altında, ilgili alanda bulunan radyo butonunu seçili hale  getiriyoruz.    Tablomuza alan eklemek istersek “Kaydet” butonunun yanında bulunan text kutusuna ekleyecek  olduğumuz alan sayısını giriyoruz ve “Git” butonuna basıyoruz. Başka bir alan eklemeyeceğimiz için ve  tanımlama işlemimiz bittiği için “Kaydet” butonuna tıklıyoruz. Tablomuz ve içindeki alanlar böylece  oluşturuldu. MySQL’deki veri tipleri genel olarak aşağıdaki gibidir. 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR      phpMyAdmin ana ekranındaki sol tarafta bulunan açılır menüden veritabanımızı seçtikten sonra  karşımıza çıkan sayfanın sol tarafında o veritabanının içindeki tablolar sıralanır. Çıkan sayfada çeşitli  sekmeler bulunur. Burada bilmeniz gereken önemli sekmelerden bahsedeyim. Yapı sekmesinden  veritabanında bulunan tablolarla ilgili işlemleri yapabiliriz. SQL sekmesinde tablolarla ilgili kendi SQL  sorgumuzu yazabiliriz. Dışarı Aktar sekmesinden veritabanımızı başka bir yere aktarırken gerekli olan  SQL sorgusunu üretir. SQL sorgusunun içinde veritabanı içinde bulunan tabloların yapıları ve  tabloların içinde bulunan kayıtlar bulunur. İçeri Aktar sekmesinden veritabanımıza dışarıdan bir SQL  sorgusu içeren dosyayı alabiliriz. İşlemler sekmesinden veritabanı ile ilgili işlemleri gerçekleştirebiliriz.  Yetkiler sekmesinden kullanıcıların veritabanı üzerindeki yetkilerini görebiliriz. Kaldır sekmesinden  veritabanını silebiliriz.    Sol taraftan herhangi bir tablo seçelim. Çıkan sayfada o tablo ile ilgili işlemleri yapabileceğimiz  sekmeler bulunur. Gözat sekmesinde veritabanı içinde bulunan verilere bakabiliriz. Yapı sekmesinde  seçili tablo içindeki alanlarda değişiklik yapabiliriz. SQL sekmesinde veritabanı ile ilgili SQL sorgumuzu 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  yazabiliriz. Ara sekmesinde seçili tablo içindeki kayıtlarda arama yapabiliriz. Ekle sekmesinden tabloya  yeni kayıt ekleyebiliriz. Dışarı Aktar sekmesinden tablonun yapısını ve içerisindeki kayıtları başka bir  veritabanında kullanabileceğimiz SQL sorgusu üretir. İçeri Aktar sekmesinden tabloya dışarıdan SQL  sorgusu içeren bir dosya ile kayıt eklememizi sağlar. Boşalt sekmesinde seçili olan tablo içerisindeki  kayıtları silmemizi sağlar. Kaldır sekmesinde seçili tabloyu silmemizi sağlar.  9.3 Dışa Aktar / İçe Aktar Temel SQL komutlarını denemek için öncelikle örnek bir veritabanı oluşturup, verdiğimiz veritabanı  yedeğini geri yükleyerek işe başlayalım. Bunun için sırasıyla aşağıdaki işlemleri yapınız.  1. okul adında utf8_general_ci karşılaştırma seti ile yeni bir veritabanı oluşturunuz. Buradaki  utf8_general_ci kullanılacak olan karakter setini belirtmektedir. Veritabanı işlemlerinde en  çok yaşanan sorunlardan biri türkçe karakter sorunudur. Bu sorunu yaşamamak için türkçe  karaketerleri destekleyen utf8_general_ci yada utf8_turkish_ci karşılaştırma setlerinden  birini seçmelisiniz.   

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    2. Veritabanını oluşturduktan sonra yukarıdaki İçeri Aktar linkini kulllanarak açılan aşağıdaki  pencereden Gözat diyerek okul.sql isimli veritabanı yedeğini seçip aşağıdaki Git düğmesine  tıklayınız. Bunu yaparak alınmış bir veritabanı yedeğini geri yüklemiş oldunuz.   

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    3. ogrenciler tablosunda SQL komutlarını denemek için soldaki ogrenciler tablosuna tıklayıp  Düzenle linkine tıklayınız.   

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  4. Açılan SQL penceresinde istediğiniz SQL komutlarını yazıp sonuçları gözlemleyebilirsiniz.     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  10 PHP ve MySQL – Basit Telefon Rehberi Aşağıdaki ekranda görülen isim ve özelliklere sahip personel veritabanı ve bu veritabanı içinde kişiler  tablosu oluşturunuz.    10.1 Kayıt Listeleme    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  10.2 Kayıt Ekleme “Yeni Kayıt Ekle +” yazısına link vererek yeni bir sayfa “yeni_kayit_form.php” adında bir sayfa  görüntületiyoruz. Bu sayfa için bir HTML form oluşturalım. Formun action bölümünü  “yeni_kayit_ekle.php” yapalım.        “Yeni Kayıt Ekle +” yazısına link vererek bu sayfaya erişimi sağlayalım. Formdaki verileri  “yeni_kayit_ekle.php” ye göndereceğimizi belirtmiştik. “yeni_kayit_ekle.php” adında bir PHP dosyası  açalım. 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR      SQL komutumuzdan dönecek değeri (True yada False) $Komut değişkenine atadık. Kaydımızın  sorunsuz bir şekilde gerçekleşmesi halinde $Komut değişkenimizin değeri “True” olacağından if()  kullanarak ekrana “Kaydınız başarıyla gerçekleşmiştir.” yazdırıyoruz.  Ardından mevut sayfamızı (yeni_kayit_ekle.php), 1. bölümde hazırlamış olduğumuz “Listele.php”  sayfasına yönlendiriyoruz. PHP’de sayfa yönlendirmeyi 2 şekilde yapabiliriz.  10.2.1 Header(“refresh”) yöntemi ile yönlendirme Bu yöntem ile yönlendirilecek olan sayfaya belirlenen süre sonunda yönlendirebiliriz. Kullanımı  aşağıdaki gibidir.    Buradaki “2” değeri, kodun işlenmeye başladıktan 2 saniye sonra belirtilen sayfaya yönlendirileceği  anlamındadır.  10.2.2 Header(‘Location’) yöntemi ile yönlendirme Bu yöntemde yönlendirilecek olan sayfaya zaman belirtmeksizin direkt olarak yönlendirme işlemi  yapılır. Bu yöntemin kullanımı da aşağıdaki gibidir.    Header fonksiyonunu kullandığınız sayfada “Warning: Cannot modify header information – headers  already sent by…” şeklinde bir hata mesajı alabilirsiniz. Hatayı gidermek istediğiniz sayfanın başına,   sonuna da   eklenmelidir. 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  10.3 Kayıt Düzenleme Oluşturulan “Listele.php” sayfasında kayıtların yanındaki “Düzenle” yazısına link verelim.  (düzenle_form.php) Veritabanımızda birincil anahtar olarak “Personel_No” alanı seçilmişti.  “Personel_NO” alanından dönen değerleri “Düzenle” linkinin sonuna “?” operatörü kullanarak  eklenmelidir.    duzenle_kayit.php dosyasındaki php kodlar aşağıda görülmektedir.     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  10.4 Kayıt Silme Kayıt düzenleme bölümünde yapıldığı gibi “Listele.php” de “Sil” yazısına “Sil.php” ye gidilecek şekilde  link verilmelidir. Linkin sonuna, “?” operatörünü kullanarak kişinin Personel_No bilgisi de  eklenmelidir.     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  11 PHP ve MySQL – Doğum Günü Uygulaması Kişilerin ad, soyad ve doğum günü bilgilerinin tutulduğu bir tabloya veri girişi yapılması, verilerin düzenlenmesi, verilerin güncellenmesi ve verilerin listelenmesi işlemlerini gerçekleştirmek amacıyla (temel CRUD işlemleri: Create Retrieve Update Delete) PHP tabanlı bir uygulama hazırlanacaktır. 11.1 PHP ve MySQL Veri Tabanı Bağlantısı (dbbaglanti.php)   11.2 Doğum Günü Uygulaması Ana Ekran  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    11.3 Yeni Kayıt Ekranı 11.3.1 Bilgi Girişi  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    11.3.2 Yeni Kayıt Ekleme    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  11.4 Kayıtların Listelenmesi    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  11.5 Kayıt Güncelleme 11.5.1 Kayıt Güncelleme Ekranı – Güncellenecek Kayıt Seçimi    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  11.5.2 Kayıt Güncelleme Ekranı – Veri Tabanı Güncelleme      

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  11.6 Kayıt Silme 11.6.1 Kayıt Silme Ekranı – Silinecek Kayıt Seçimi    

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  11.6.2 Kayıt Silme Ekranı – Veri Tabanı Silme        

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  12 PHP ve MySQL – Okul Veritabanı   http://www.phpdefteri.com/tumdersler/5/veritabani.html   

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  13 Çerez Kullanımı ve Oturum Yönetimi 13.1 Çerezler Çerezler  (cookies)  sunucuda  gerektiğinde  kullanılmak  üzere  içerisinde  istediğimiz  değerleri  barındırabilen istemci tarafında oluşturabildiğimiz dosyalardır. Çerezleri genellikle kullanıcı tanımlama  işlemlerinde kullanırız. En yaygın örneği login işlemlerinde beni hatırla seçeneğinin yapımıdır. Burada  yapılan  işlem  beni  hatırla  seçildiğinde  istemci  tarafında(siteye  giren  kullanıcının  bilgisayarında)  bir  çerez dosyası oluşturarak içerisine o kullanıcıya ait eşsiz bir değişken yazılır. [...] Bu değişken kullanıcının  bilgisayarında tutulur. Bu işlemi yapabilmemiz için, kullanıcının tarayıcısını çerez kabul edilebilir şekilde  ayarlaması gerekmektedir. bu nedenle çok güvenli bir yöntem değildir. Değerli bilgilerin saklanması için  tercih  edilmez.  İstemci  tarafına  yazdığımız  çerez  belirli  bir  ömür  ile  yaratılır.  Örneğin  bir  haftalık  yaratılan çerez bir haftanın sonunda istemci pc den kendiliğinden silinir. Peki bu yarattığımız çerez ne  işe yarayacak. Eğer çerezin ömrü bitmedi ise, istemci (kullanıcı) siteye tekrar girdiğinde daha önce  istemciye yazdığımız çerez içerisindeki değişkeni kullanarak login işlemi gerçekleştirilebilir.  setcookie()  fonksiyonu  tarayıcıya  herhangi  bir  header  (başlık)  bilgisi  gönderilmeden  önce  kullanılmalıdır.  Sözdizimi:  setcookie(değişken ismi, değer, ömür(timestamp cinsinden), yol, domain);  13.1.1 Çerez Oluşturma   13.1.2 Çerez Kullanımı  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR  13.1.3 Çerez Silme   13.2 Oturum Yönetimi (Session) Session aynı çerezlerde olduğu gibi $_SESSION global dizisi ile okunur, fakat yazılması için çerezlerdeki  gibi bir fonksiyona ihtiyaç duymaz. Çerezlerin son kullanma tarihini biz belirlerken sessionlar tarayıcının  kapatılmasıyla silinir. Yani siteye girildiğinde oluşturacağımız sessionlar, girenin sayfayı kapatmasıyla  silinecektir. Kullanım, oluşturma ve silme dışındaki asıl teknik farkı da sessionların tarayıcıya direkt  olarak tanımlanmıyor olması.  Bir çerez tanımladığımızda bu çerezin adı ve değeri tarayıcıya açıkca gönderilir ve bu değer istenilen  süre  boyunca  tarayıcıda  açık  bir  şekilde  saklanır.  Sessionda  ise  kaydedilen  değer  ve  değerin  adı  tarayıcıya gönderilmez. Onun yerine PHPSESSID adında içinde uzun bir session id değeri bulunan bir  çerez  tanımlanır.  Ve  bizim  oluşturduğumuz  sessionlar  sunucuda  saklanır  ve  girenlerin  gönderdiği  PHPSESSID kimliğine göre kime ait oldukları bulunur ve yeniden düzenlenir.  Bu olayı daha iyi anlamanız için kredi kartı örneğini vereyim: Session olayı aynı kredi kartı kullanımı  gibidir. Banka size bir kart verir bu kartın içinde size özel bir anahtar kod yer alır. Ama para ve bilgiler  bankada saklanır. Siz bilgilerinize ve paralarınıza ulaşmak için kartı kullanırsınız. Sessionda size direkt  olarak bilgileri vermek yerine bir PHPSESSID adında değer verir ve o değer üzerinden size ait olan  verileri okur ve düzenler.  13.2.1 Session Oluşturma Başta  da  dediğim  gibi  sessionları  tek  bir  $_SESSION  global  dizisi  üzerinden  okuyup,  oluşturup,  silebiliyoruz. Tek önemli mevzu session kullanımına ya da oluşturulmasına başlamadan önce bir kere  her sayfanın en başında session_start() fonksiyonunu yazmalıyız, bu fonksiyon session olayını kullanıma  hazırlar ve olmazsa olmazdır. Bazı sunucularda session kullanımı otomatik olarak hep açıktır, açık olan  sunucularda session_start() yazmaya çalışırsanız hata verir. Bu durumda bu fonksiyonu kullanmaya  gerek yoktur. 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    13.2.2 Session Kullanma     13.2.3 Session Silme  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    13.2.4 Tüm Sessionları Silme     13.2.5 Basit Üyelik Sistemi  

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    Üyemizin adı “deneme” şifresi ise “12345” tir.     

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR          admin.php sayfası: 

Internet Tabanlı Programlama Dersi – Uygulama Notları   Eskişehir Osmangazi Üniversitesi  Eğitim Fakültesi – B.Ö.T.E  Celal Murat KANDEMİR    uyecikis.php   

Add a comment

Related presentations

Related pages

İnternet Tabanlı Programlama Dersi Uygulama Notları ...

Eskişehir Osmangazi Üniversitesi Eğitim Fakültesi B.Ö.T.E Bölümü İnternet Tabanlı Programlama Dersi Uygulama Notları
Read more

Ders: BÖTE 305 - İnternet Tabanlı Programlama - Orçun ...

İnternet Tabanlı Programlama ... Internet programlama istemci sunucu mimariye giriş, ... Örnek Uygulama I: ...
Read more

Nesne Tabanli Programlama

Nesne Tabanli Programlama. 6,065 likes · 41 talking about ... Computers/Internet Website. Public Cancel Save ... Smartface App Studio Native Uygulama ...
Read more

INTERNET TABANLI PROGRAMLAMA Active Server Pages (ASP ...

INTERNET TABANLI PROGRAMLAMA ... Vbscript ile Programlama Ders Notları ... verilere teorik olarak her tür programlama dili yada uygulama programı ...
Read more

nesne tabanlı programlama ders notları pdf | Nesne ...

... nesne tabanlı programlama ders notları pdf. Nesne Tabanlı Programlama Modülleri. ... Gelişmiş İnternet Uygulamaları Performans Ödev Konular ...
Read more

nesne tabanlı ders notları | Nesne Tabanlı Programlama

... nesne tabanlı ders notları. ... Gelişmiş İnternet Uygulamalar ... Nesne Tabanlı Programlama. C# Dersleri; C# Örnekleri;
Read more

Nesne Tabanlı Programlama – II – Öğr. Gör. YASİN ...

... World IndexOf JAVA Merhaba Mükemmel Mükemmel Sayılar Nesne Tabanlı Programlama Nesne Tabanlı Programlama Uygulama Sınav ... İnternet ...
Read more

Ders notları | İnternet Tabanlı Programlama ders ...

Ders notları. İnternet Tabanlı Programlama ders notlarını PDF WORD olarak indir. Türkiye’nin en büyük ders notu indirme sitesi. PHONE. TABLET ...
Read more

Php Ders Notları ve Sunuları | Bilişim Teknolojileri ...

Php Ders Notları ve ... Nesne Tabanlı Programlama dersi için C# ... FIREWORKS UYGULAMALARI FIREWORKS UYGULAMA ÖRNEKLERI Genel Görsel Programlama ...
Read more