PHP’ ye Giriş Ali DELİCE Bircan ÇİÇEKDEŞ Mustafa İlker ALAGÖZ.

Slides:



Advertisements
Benzer bir sunumlar
.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
Advertisements

SGB.NET’İN TEKNİK ALTYAPISI
PHP & MYSQL.
PHP VE MYSQL.
MIT504 İnternet ve Web Programlama: Javascript programlama devam Yrd. Doç. Dr. Yuriy Mishchenko.
Asp - Asp.Net Temel Özellikleri ve Örnek Uygulamalar
JAVASCRİPT VERİ TÜRLERİ
JavaScript Birinci Hafta.
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar)
Filezilla Client & Server
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
 Ofis dışından erişim  Kurulum gerekmez  Internet Explorer, Mozilla FireFox, Google Chrome, Safari üzerinden çalışma  Sade ve basit arayüz Web Avantajları.
PHP-MySQL ile Profesyonel Web Programlama
WEB Tasarımı & .NET Bolum 1
Nedir? Türkiye PHP Grubu – Dokuz Eylül Üniversitesi
İnternet Programcılığı
Web Host Manager (WHM) Nedir Ne İşe Yarar ?
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
C Programlama Diline Giriş
PHP ve MySQL Web Yazılımı Gülin ÜTEBAY Bilgisayar Mühendisi
BTEP 203 – İnternet ProgramcIlIğI - I
DOVECOT İLE IMAP VE POP3 SERVER KURULUMU
İŞLETİM SİSTEMLERİ KONTROL: PROF.DR.ASAF VAROL DÖNE KARAOĞLAN BİLGİSAYAR SİSTEMLERİ Bilgisayar Öğretmenliği (Gece) - 4.
Öğr.Gör.Şükrü KAYA.  PHP, "PHP: Hypertext Preprocessor" sözcüklerinin baş harfleriyle temsil edilen HTML içine gömülebilir açık kaynak kodlu, genel amaçlı,
Php Form İşlemleri.
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
İŞLETİM SİSTEMLERİ EYLÜL 2012.
PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, Aralık 2002 Hidayet Doğan.
İnternet Programcılığı II
Kabuk ve Kısayollar BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ
BAĞLANTI (KÖPRÜ) OLUŞTURMA
MART 2013 İŞLETİM SİSTEMLERİ.
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
İnternet Programlama PHP.
PHP ve MYSQL Veritabanı Sunucusu
AĞ İŞLETİM SİSTEMLERİ Öğr. Gör. Mustafa SARIÖZ
DEĞİŞKENLER VE VERİ TİPLERİ
KOBİ – ŞİRKET PORTALI BİTİRME PROJESİ EMRE UYUMAZ & ANIL GÜR.
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
Quest Atlantis Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel Bir Bilgisayar Oyununun Teknik Yapısı.
İnternet Programcılığı II
PHP.
PHP’ye Giriş Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan.
Erman Yukselturk1 PHP NEDİR? Scripting / Progralama dilidir (C’ye benzer) C ++ ortamında geliştirilmiştir Bedava / Açık Kod Hızlı, açık, dengeli (stable),
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
PHP (Personal Home Page) “Kişisel Ana Sayfa”. PHP Rasmus Lerdorf PHP/FI (Form Inter- preter/Form Yorumlayıcı) - PHP2 Rasmus Lerdorf, 1995, Zeev Suraski,
İKMAP İnternet 1 Ders Notu
İŞLETİM SİSTEMLERİ Derya Işık
PHP Programlama Dili GİRİŞ.
KONGRE YÖNETİM SİSTEMİ MEHMET TURAN M. SERTAÇ KELEŞ.
PHP.
Veritabanı Yönetim Sistemleri - I
Temel Bilgi Teknolojilerinin Kullanımı Öğr.Gör. Abdullah ŞENER.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Web Teknolojileri Hafta İçerik  Temel Kavramlar  PHP’ye Giriş  Web Sunucusu (XAMPP) Kurulumu  PHP Temel Komutları 2.
İÇERİK YÖNETİM SİSTEMİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
GYTE Programlama dilleri Can GÜLŞE PHP Parser Hypertext Preprocessor.
Asp.Net Veritabanı İşlemleri
C Programlama Dili Bilgisayar Mühendisliği.
Web Tasarımı Giriş.
Server Yönetim Programları
İNTERNET PROGRAMCILIĞI 2
Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
PHP ve MYSQLi.
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
Sunum transkripti:

PHP’ ye Giriş Ali DELİCE Bircan ÇİÇEKDEŞ Mustafa İlker ALAGÖZ

PHP ilk kez Rasmus Lerdorf tarafından 1994 güzünde kendi özel işlerini görmek amacıyla bir dizi Perl Script (betik) ile yazılmış bir cgi wrapper olarak yaşama başlamıştır. 1995’in başlangıcında diğer insanlar’ın yoğun ilgisi üzerine PHP özel olmaktan çıkmış ve tartışma listesi ve sıkça sorulan sorular ile bu sefer C ile yazılmış ilk paket (Personal Home Page Tool) çıkmıştır.

1995’in sonlarında birkaç özellik daha eklenerek PHP/FI Sürüm 2 olarak devam etmiştir. Bir grup yazılımcının dikkatini çekmiş ve bir API oluşturularak PHP3 ortaya çıkmıştır. Daha sonraları Zend motoru PHP4’ ü yaratmış ve PHP 4.3.4 gibi çeşitli sürümleri geliştirilmektedir. PHP bütün Unix-türevi sistemler (örneğin Linux) ve Microsoft Windows sistemleri ile uyumludur. Birlikte çalışabileceği Web sunucu programları arasında Apache, IIS, FHTTP, Omni HTTPd, Xitami ve Windows 95/98 için PWS (Personal Web Server) vardır. PHP Nedir? PHP Web sunucu tarafında işlenip HTML içine gömülen bir betik (script) dilidir.

Web Sunucu tarafından yorumlanır, PHP: HTML kodu içerisine gömülebilir, Web Sunucu tarafından yorumlanır, JavaScript, C, Perl dillerinden ilham alınarak yapılmıştır ve Taşınabilir. PHP, Web tabanlı yazılımları geliştirmek için tasarlanmıştır. Çalışma mantığı diğer web tabanlı programlama dilleri gibidir (sunucu taraflı).

<html> <head> <title>Example</title> </head> <body> <? echo ”Merhaba ben bir PHP betiğiyim"; ?> </body> </html> Burada PHP, HTML kodu içerisinde “<?” ve “?>” etiketleri arasına gömülmüştür. “<?” ayracı ile PHP betiğine atlanacağı, “?>” ayracı ile de PHP betiğinin sonlanacağı belirtilmiştir.

PHP’nin Çalışma Prensibi Disk APACHE WEB SUNUCU Yorumlanmış PHP betiği İstem İstenilen PHP betiği yükleniyor mod_php PHP betiği aranıyor

PHP ile Neler Yapılabilir? Veritabanı bağlantılı uygulamalar Dinamik olarak oluşan grafikler, Flash animasyonları Ziyaretçiye, tarayıcıya veya tarihe göre özel durumlar veya içerikler Anketler, tartışma forumları Elektronik ticaret uygulamaları Web tabanlı e-posta uygulamaları XML verilerini yorumlama ve oluşturma İçerik yönetimi,site içi veya dışı arama motorları Amacı Dışındaki Diğer Kullanım Alanları PHP-CLI arabirimi ile komut satırı işlemleri PHP-GTK eklentisi ile GTK (GNU'nun grafik arayuzlu program yazma yardimcisi ) tabanlı grafik kullanıcı arayüzleri

Neden PHP? Web tabanlı programlama için tasarlanmış Yazım kurallarının basit olması Kaynak kodu açık ve ücretsiz Sunucu hafızasını az kullanır Birçok işletim sistemi üzerinde çalışabilir: Linux Windows MacOS X Solaris BSD Unixler Netware Unix, Win32 QNX Birçok web sunucusu yazılımına entegre çalışabilir: Apache Microsoft IIS Microsoft PWS Netscape iPlanet Xitami Birçok eklenti ve hazır kütüphanelerinin olması

Yaygın veritabana desteği: Oracle MySQL PostgreSQL Interbase MS-SQL Sybase IBM DB2 Informix Adabas dBase Empress filePro dbm ODBC Solid Bir CGI programının veri toplama, dinamik sayfa içerikleri yükleme, cookie alma, gönderme gibi yapabileceği herşeyi yapar, Network soketleri açabilir, diğer protokoller ile etkileşimde bulunabilir.

PHP Artıları Ücretsiz, Kaynak kodu açık Birçok platform ve web sunucusu üzerinde çalışabilmesi Web sunucusu üzerinde az hafıza kullanması Yazım kuralları, öğrenimi kolay (C ve Perl dillerine benzer) Eklentileri ve yardımcı kütüphaneleri ücretsiz PHP Eksileri Performans ve profesyonel destek için ücretlidir, Windows işletim sistemi üzerinde güvenlik açıkları oluşabilmektedir.

PHP’nin Yetenekleri Apache Web Sunucuya özgü işlevler, Matematiksel işlevler, Tarih ve Zaman işlevleri, Sıkıştırmaya özgü işlevleri, Veri Kodlamaya özgü işlevleri, Kütük yapısı işlevleri, Grafik işlevleri,

PHP Performans Çözümleri : Zend Ürünleri FTP,HTTP, URL, Mail işlevleri, IMAP, NIS, LDAP, SNMP, Semaforlara ve ayrılmış belleğe özgü işlevler, PDF işlevleri, Oturum yönetimine (Session Handling) özgü işlevler, Katar (String) işlevleri PHP Performans Çözümleri : Zend Ürünleri PHP betiklerinin yorumlanma hızını arttırıyor,ücretsiz olanlar var. Veritabanı ve web sunucusu üzerindeki yoğunluğu azaltıyor.

PHP İLE PROGRAMLAMA HTML kodu’nun içerisinde php’ye geçiş ayraçlarından birini kullanarak php moduna sonra da php’yi kapatma ayraçlarından birini kullanılarak tekrar HTML koduna dönülebilir: <HTML> <BODY><?php echo “merhabalar”; ?> </BODY></HTML> php’de açıklama satırları kabuk programlamadaki ‘#’, C dilindeki ‘//’ ya da ‘/*’ ve ‘*/’ kapatma etiketleri kullanılarak yapılabilir: <?php echo “bu bir!\n”; /* 1. echo */ echo “bu iki!\n”; // 2. echo echo “bu da üç!\n“ ; #3. echo ?>

PHP Dili Veri Türleri Tamsayı (Integer) Alfanümerik (String) Mantıksal (Boolean)True/False Nesne (Object) Dizi (Array)

Değişkenler ve Sabitler PHP Dili Değişkenler ve Sabitler Değişkenler değişken isminin önüne “$” işareti konularak tanımlanır. $a= “isim”; Bir değişkenin önüne mantıksal koşulu sağlandıktan sonra bir “$” işareti daha konularak “değişken değişkenler” yapılır. $isim = Ali; echo $$a; Sabitlerin tanımı “define()” işlevi kullanılarak yapılabilir. <?php define(“isim”,”Ali”); echo isim; ?>

Operatörler (İşlemciler) PHP Dili Operatörler (İşlemciler) Aritmetik Operatörler Atama Operatörleri Birleştirme Operatörleri Karşılaştırma Operatörleri Mantıksal Sınama

$saat_tarih = getdate() PHP Dili Tarih ve Saat Verisi PHP’nin Tarih ve zaman belirlemekte faydalanabileceğimiz başlıca fonksiyonu getdate() fonksiyonudur. $saat_tarih = getdate()

mysql_connect ("localhost" , "root" , "parola" ); PHP ve MySQL ilişkisi - PHP programlarında veritabanından yararlanabilmek için programın önce Web sunucusu aracılığıyla veritabanı dosyası ile bağlantı kurması gerekir. İki program arasındaki bu ilişkiyi PHP'nin mysql_connect() fonksiyonu yapar. Bu fonksiyonun alabileceği üç parametre vardır: mysql_connect ("localhost" , "root" , "parola" ); "localhost" yerine MySQL programının parçası olarak çalıştığı sunucunun adı yazılır. "root" bu MySQL sunucusunda açılacak oturumun kimin adına açılacağını belirter. "parola" kelimesinin yerine de MySQL'i kurarken belirlediğimiz bir kullanıcı parolası varsa, onu yazarız.

mysql_select_db( "veritabanın_adı" , $veri_yolu ) PHP ve MySQL ilişkisi Bağlantı başarıyla kurulduktan sonra PHP programı, bu yoldan, veritabanı sunucusuna, hangi veritabanı dosyasından yararlanmak istediğini bildirmelidir. Buna veritabanı dosyası seçme işlemi denir ve mysql_select_db() fonksiyonu ile yapılır: mysql_select_db( "veritabanın_adı" , $veri_yolu )

PHP ve MySQL ilişkisi <HTML> <TITLE>PHP ile Veri Örnegi</TITLE> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-9"> <meta http-equiv="Content-type" content="text/html; charset=windows-1254"> </HEAD> <BODY> <?php $veri_yolu = mysql_connect(“herhangi_biri", "root"); if ( ! $veri_yolu ) die ("MySQL ile veri bağlantısı kurulamıyor!"); mysql_select_db("veri" , $veri_yolu) or die ("Veritabanına ulaşılamıyor!" . mysql_error() ); $sonuc = mysql_query("SELECT * FROM calisanlar",$veri_yolu); printf("Adı: %s<br>\n", mysql_result($sonuc,0,"adi")); printf("Soyadı: %s<br>\n", mysql_result($sonuc,0,"soyadi")); printf("Adresi: %s<br>\n", mysql_result($sonuc,0,"adres")); printf("Görevi: %s<br>\n", mysql_result($sonuc,0,"pozisyon")); ?> </BODY> </HTML>

PHP’de Güvenlik Açıkları Herhangi bir web sunucu üzerinde soket açma, kütük açma-yazma gibi işlemler güvenlik açıkları oluşturur. Php bunların hepsini yapabildiğinden dolayı bu güvenlik açıklarını giderici bir takım yapılandırma ayarlarının yapılması gerekir. (

PHP’de güvenlik sorunları PHP’nin Apache Web Sunucu ile nasıl derlendiğine bağlıdır. PHP Apache Web Sunucuya modül olarak derlendiğinde doğrudan Apache Web Sunucunun güvenlik sınırlamalarına bağımlıdır. PHP Apache Web Sunucuya cgi arabirimi olarak derlenmiş ise çeşitli güvenlik problemleri vardır.

PHP CGI Binary Güvenlik Açıkları PHP işletilebilir cgi olarak web sunucun cgi-bin dizininde çalışması güvenlik açıkları oluşturur; “http://benim.sunucum/cgi-bin/php?/etc/passwd” PHP bu türlü komut satırı parametre geçirilmesine izin vermez. “http://benim.sunucum/cgi-bin/php/gizli/dosya” Bu şekilde gizli dosyalara erişimde, web sunucu giriş hakları üzerine denetim yapamamaktadır.

PHP derleme aşamasında --enable-force-cgi-redirect seçeneği ile bu açık ortadan kaldırılabilir. Apache Web Sunucu yapılandırma dosyasına; Action php3-script /cgi-bin/php, AddHandler php3-script .php3 eklenmeli. PHP betiklerinin web sunucu alt dizinlerinde kalması bir güvenlik açığı doğurur; web sunucu yapılandırma dosyasında; DOC_ROOT , USER_DIR ya da PHP yapılandırma dosyasında; PHP_DOC_ROOT ile betikleriniz daha güvenli dizinlere yerleştirilebilir.

PHP’nin cgi olarak en güvenli bir biçimde çalışabilmesi için işletilebilir PHP (PHP binary) yorumlayıcısının web sunucu alt dizininden daha farklı dizinlere yerleştirilmesi gerekmektedir. /usr/local/bin/php, /usr/local/sbin/php

PHP ile, Bir kuruş harcamadan, sadece vakit ve biraz emek harcayarak, tepeden tırnağa ; kimi portallara taş çıkartan bir site sahibi olabilirsiniz

ÖRNEK UYGULAMA ................................. SAYI TAHMİNİ

KAYNAKÇA: http://www.php.net / downloads.php http://php.bilkent.edu.tr, http://apache.bilkent.edu.tr, http://www.apache.org, php3@lists.php.net, www.linux-team.com / kitaplar/php www.phpfreaks.com

TEŞEKKÜRLER !