|
#1
| |||
| |||
| Php öğrenelim! PHP ye giriş Bir PHP dosyası yazı, HTML tagları ve kodlarından oluşabilir. PHP deki kodlar server tarafından çalıştırılır. Önceden bilinmesi gerekenler Bu basit PHP derlerine devam etmek için öncelikle aşağıdaki gibi temel şeyleri bileniz çok faydalı olucaktır: ++ WWW, HTML ve temel web sayfası oluşturma yöntemleri ++ biraz kodlama bilgisi PHP nedir? ~ PHPnin açılımı PHP: Hypertext Preprocessor ~ PHP, ASP gibi server taraflı kodlama dilidir. ~ PHP server tarafından çalıştırılır. ~ PHP birçok veritabanını destekler, örneğin MySQL, Informix, Oracle, Solid, Sybase, Generic ODBC, PostgreSQL ... ~ PHP, acık kodlu bir programdır. ~ PHP nin yüklemesi ve kullanması ücretsizdir. PHP dosyası nedir? ~ PHP dosyaları; yazı, HTML tagları ve kodlarından oluşabilir. ~ PHP dosyaları; server tarafıdan işlendikten sonra düz HTML sayfaları olarak görüntülenir. ~ PHP dosyaları; .php , .php3 yada .phtml uzantılarına sahip olabilir. MySQL nedir? ~ MySQL, küçük bir veritabanı serverıdır. ~ MySQL, küçük ve orta dereceli uygulamalar için idealdir. ~ MySQL, standard SQL ifadelerini destekler. ~ MySQL, bir kaç farklı platformda derlenebilir. ~ MySQL, yuklenmesi ve kullanması ücretsizdir. PHP ve MySQL PHP, MySQL ile birleştirilmiştir, ve bu uygulamalar Windows platformu ustunde geliştirilip Unix platformunda işlenebilir. neden PHP ~ PHP, birçok farklı platformda çalışabilir,örneğin Windows, Linux, Unix ~ PHP, bugün kullanılan birçok serverda çalıştırılabilir,örneğin IIS, Apache ... ~ PHP ücretsizdir ve resmi sitesi olan www.PHP.net adresinden indirilebilir. ~ PHPnin öğrenmesi kolaydır ve server tarafından iyi bir verimle çalışır. Nerden başlamalıyız ? ~ İşletim sisteminize Apache server, PHP ve MySQL i yukleyiniz. ( yüklenmesi ve gerekli ayarları ayrı bir ders konusudur. ) PHPyi yüklemek için --> http://www.php.net/downloads.php MySQLi yüklemek için --> http://www.mysql.com/downloads/index.html Apache serverı yüklemek için --> http://httpd.apache.org/download.cgi PHP sözdizimleri PHP dosyalarının içindeki kodları web tarayıcınızın "kaynağı görüntüle" komutu ile görüntüleyemezsizin. Burada gördüğüz veriler PHP nin server tarafından derlendikten sonra elde edilen sonuçlardır ki bunlarda düz HTML dir. temel PHP sözdizimleri Bir PHP dosyası genel olarak HTML dosyaları gibi HTML tagları ve bazı PHP kodları içermektedir. Aşağıda en temel PHP kodunun örneği verilmiştir, bu kod sayesinde "birazda PHP ögreniyorum" yazısını çıkarmaktadır. <html> <bOdy> <?php echo "birazda PHP ögreniyorum"; ?> </bOdy> </html> Bir PHP kodla dizisi <?php ile başlar ?> ile biter. PHP kod dizisi sayfanın herhangi bir yerine yazılabilir. Her PHP kod satırı ( işareti ile biter, bu server a bir kod satırının bitip digerinin basladıgını belirtir.PHPde ekrana yazı göndermenin iki kolay yolu vardır biri yukardaki örnek gibi echo diğeri ise print PHP de değişken tanımlama PHP de her değişken ($) işareti ile başlar. Değişkenler harf dizimi, sayı yada diziden oluşabilir. İlk PHP kod örneğimizi değişken kullanarak yazıcak olursak; <html> <bOdy> <?php $yazi="birazda PHP ögreniyorum" echo $yazi; ?> </bOdy> </html> birden vazla değişkeni isteğe bağlı bir sırada ekrana yazmak içinde (.) işareti kullanılır. <html> <bOdy> <?php $yazi="birazda PHP ögreniyorum" $yazan="MMx" echo $yazi . " " . $yazan ; ?> </bOdy> </html> PHP de yorum ekleme PHP de serverın derlemesini istemediğiniz ama orjinal kodu görüntüleyen için bir uyarı, hatırlatma yani bir yorum bırakmak için kullanılır. Tekbir satırı yoruma ayırmak için (//) ifadesi, birden cok satırı yoruma ayırmak içinse (/* */) ifadesi kullanılır. <html> <bOdy> <?php //bu benim tek satirlik yorumum /* bu ise yorum bloğum */ ?> </bOdy> </html> PHP operatörleri Operatörler degerler üstünde değişiklik yapmaya yarar. Aşağıda PHP de kullanılan birçok operatorun listesini görüceksiniz. Aritmetik operatörler toplama : + x=6 x+3 Sonuc: 9 çıkarma : - x=6 x-3 Sonuc: 3 çarpma : * x=6 x*3 Sonuc: 18 bölme : / x=6 x/3 Sonuc: 2 mod (kalan hesaplama) : % x=6 x%3 Sonuc: 0 artma : ++ (+ 1 ile aynı anlamdadır) x=6 x++ Sonuc: 7 eksilme : -- (- 1 ile aynı anlamdadır) x=6 x-- Sonuc: 5 Atama operatörleri sağdakini sola ata : = kendisi ve başka bir değişkeni toplayıp tekrar kendine atamak : x+=y ( x= x+y ile aynı anlamdadır) kendisinden başka bir değişkeni çıkartıp tekrar kendine atamak : x-=y ( x= x-y ile aynı anlamdadır) kendisi ve başka bir değişkenle çarpıp tekrar kendine atamak : x*=y ( x= x*y ile aynı anlamdadır) kendisini başka bir değişkene bölüp tekrar kendine atamak : x/=y ( x= x/y ile aynı anlamdadır) kendisi başka bir değişkene göre modunu alıp tekrar kendine atamak : x%=y ( x= x%y ile aynı anlamdadır) Karşılaştırma operatörleri eşittir : == 6==9 Sonuc: false (yanlıs) eşit değildir : != 6==9 Sonuc: true (doğru) soldaki büyüktür sağdakinden : > 6>9 Sonuc: false (yanlıs) soldaki küçüktür sağdakinden : < 6==9 Sonuc: true (doğru) soldaki büyük yada eşittir sağdakinden : >= 6>=9 Sonuc: false (yanlıs) soldaki küçük yada eşittir sağdakinden : <= 6<=9 Sonuc: true (doğru) Mantık operatörleri ve : && x=7 y=1 (x<9 && y>=1) Sonuc: true (doğru) veya : || x=7 y=1 (x==9 || y==3) Sonuc: false (yanlıs) değil(se) : ! x=7 y=1 !(x==y) Sonuc: true (doğru) PHP Durum ifadeleri PHPdeki durum ifadeleri sayesinde farklı durumlar için farklı işlemler yaptırılabilir. PHP de iki adet durum ifadesi vardır: ~~ if (..else) ifadesi; bu ifade bir durumun dogru yada yanlıs oldugunda bir dizi kodun calıstırılması için kullanılır. ~~ switch ifadesi; bir dizi satırdan sadece bir tanesinin seçilip çalışmasını sağlamak istiyorsak bu ifadeyi kullanırız. IF ifadesi ifadenin kuruluşu; if(durum) durum sağlandığında çalıştırılacak kod dizini else durumsağlanMAdığında çalıştırılacak kod dizini bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php $g=date("D"); if ($g=="Fri") echo "iyi haftasonlari "; else echo "hayirli isler "; ?> </bOdy> </html> yukardaki bu basit kodda date("D") ile günün değerini alıyoruz ve eğer bu gunun değeri Friday (cuma) ise iyi haftasonlari denmesini değilse hayirli isler demesini istiyoruz.SWITCH ifadesi ifadenin kuruluşu; switch(değişken) { case birinciOlasılık: birinciOlasılık sağlandıgında çalıştırılacak kod break case ikinciOlasılık: ikinciOlasılık sağlandıgında çalıştırılacak kod break default: Hiçbir olasıgıla uymadıgında çalıştırılacak kod } bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php $durum=2; // 1, 3 yada 4 yapın değişikliği gorun switch ($durum) { case 1: echo "birinci duruma hosgeldiniz"; break; case 2: echo "merhaba ben ikinci durum"; break; case 3: echo "ben geldim! adim ucuncu durum"; break; default: echo "Hic bir durumu saglamayadin ama yinede yanliz kalmadin"; } ?> </bOdy> </html> PHP Döngüleri Döngüler aynı kod satırını belli bir kosul saglanana kadar calıstırmayı saglar. PHP de döngüler için kullanılan ifadeler: ~~ while; belli bir kosul saglanana kadar kod dizinini calıstırır. ~~ do ... while; while ile işlev olarak aynı ~~ for; while ile aynı işlevli olmasına ragmen daha hızlı dır. ~~ foreach; bir dizideki elemanlar için belirlenmiş kosulu tek tek calıstırır. WHILE ifadesi ifadenin kuruluşu; while(durum) durum sağlandıgı surece calıstırılacak kod bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php $a=1; while($a<=5) { echo "Islem yapilan sayi : " . $a . "<br />"; $a++; } ?> </bOdy> </html> DO ... WHILE ifadesi ifadenin kuruluşu; do { durum doğru oldugunda calısacak kod; } while(durum); bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php $a=0; do { $a++; echo "Islem yapilan sayi : " . $a . "<br />"; } while ($a<5); ?> </bOdy> </html> FOR ifadesi ifadenin kuruluşu; for (başlangıç; durum; artım) { durum sağlandıgında calısacak kod; } bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php for ($a=1; $a<=5; $a++) { echo "DIR DIR DIIRR :P<br>"; } ?> </bOdy> </html> FOREACH ifadesi ifadenin kuruluşu; foreach (diziAdi as deger) { degerin atanacagı kod; } bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php $dizim=array("guvenlik", "programlama", "eglence"); foreach ($dizim as $degerim) { echo "su anki dizi degeri: " . $degerim . "<br />"; } ?> </bOdy> </html> PHP Fonksiyonları PHP nin asıl gücü onun fonksiyonlarından gelir, PHP de 700 den fazla fonksiyon vardır. PHP nin orjinal sitesinde tüm bu fonksiyonların listesini bulabilirsiniz; http://www.php.net/quickref.php Bu dokumanda biz sadece birkaç tanesini örnekliyeceğiz.. PHP hakkında bilgi edinme phpinfo() fonksiyonu, o serverda kullanılan PHP sürümünün detaylı çıktısını verir. Bu PHP kodlarını yazarken ve kullanırken olucan hataları tespit etmek ve o bilgilere gore davranmayı sağlar. phpinfo() fonksiyonunun özellikleri; INFO_GENERAL >>> Ayar satırını, php.ini nin bulundugu yeri, yapıldıgı tarihi, web serverı, sistemi ve daha fazlası hakkında bilgi verir. INFO_CREDITS >>> PHP 4 ün yaratıcılarının listesi INFO_CONFIGURATION >>> PHP nin Yerel ve ana degerleri hakkında bilgi verir INFO_MODULES >>> Yuklenmiş olan modulleri gösterir INFO_ENVIRONMENT >>> Çevresel değişkenler hakkında bilgi verir INFO_VARIABLE >>> EGPC { Environment, GET, POST, Cookie, Server } den öntanımlı tum degişkenleri gösteririr INFO_LICENSE >>> PHP lisans bilgisini gösterir INFO_ALL >>> Yukardak sayılan tum bilgileri listeler, varsayılan özellik burdur bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php // Tum PHP bilgilerini gosterir phpinfo(); ?> <?php // Sadece genel bilgileri gosterir phpinfo(INFO_GENERAL); ?> </bOdy> </html> PHP Server değişkenleri Tum serverlar, kullanıcı hangi URL den gelmiş, hangi web tarayıcısını kullanıyor gibi bilgilerin kaydını tutar, ve tum bunlar belli değişkenlerde tutulur. PHP de bu gibi bilgileri $_SERVER degişkeni tutar. bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php echo "Buraya " . $_SERVER["HTTP_REFERER"] . " adresinde geldiniz.<br>"; echo "" . $_SERVER["HTTP_USER_AGENT"] . " web tarayıcısı kullanıyorsun.<br>"; echo "IP adresiniz " . $_SERVER["REMOTE_ADDR"]; ?> </bOdy> </html> PHP ile dosya açmak fopen() fonksiyonunu, dosyaları açmak için kullanılır. Bu fonksiyonun ilk parametresi acılacak dosyanın adını, ikinci parametresi ise hangi modda acılacagını belirtir. bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php $f=fopen("deneme.txt","r+"); ?> </bOdy> </html> Bu fonksiyon için kullanılabilecek moddları acıklayalım; r >>> sadece okuma, dosya işaretcisi dosya basında r+ >>> okuma ve yazma, dosya işaretcisi dosya basında w >>> sadece yazma, deneme.txt dosyası varsa ustune yazar yoksa oluşturup içine yazar w+ >>> okuma ve yazma, deneme.txt dosyası varsa ustune yazar yoksa oluşturup içine yazar a >>> ilave et, dosya işaretcisi dosya sonunda, eger dosya yoksa oluşturur a+ >>> ilave et ve oku, dosya işaretcisi dosya sonunda, eger dosya yoksa oluşturur x >>> sadece yazma izni olan bir dosya olusturur, dosya işaretcisi dosya basındadır, eger yaratılması istenen dosya varsa hata verir, yoksa kendisi bir tane olusturur x+ >>> okuma ve yazma izni olan bir dosya olusturur, dosya işaretcisi dosya basındadır, eger yaratılması istenen dosya varsa hata verir, yoksa kendisi bir tane olusturur Eger bu fonksiyon bir dosyayı acamaz ise, false (yanlış) değeri verir. <html> <bOdy> <?php if (!($f=fopen("deneme.txt","r"))) exit("Dosya acilamadi "); ?> </bOdy> </html> fclose() fonksiyonunu, dosyaları kapamak için kullanılır. feof() fonksiyonunu ile dosyanın sonuna gelip gelmediği anlasılır, eger dosya sonu ise true (dogru) degerini verir. Yanlız fopen() fonksiyonu w,a ve x modu kullanılmıssa bu fonksiyon calısmaz. ifadenin örneği; if (feof($f)) echo "Dosya sonu !"; fgetc() fonksiyonu ile dosyadan belli bir karakteri almakiçin kullanılır. Aşağıdaki kod örneği ile dosyanın her karakteri tek tek okunur, taki sonuna gelene kadar. <html> <bOdy> <?php if (!($d=fopen("deneme.txt","r"))) exit("Dosya acilamadi ");while (!feof($d)) { $q=fgetc($d); echo $q; } fclose($f); ?> </bOdy> </html> PHP formları PHP nin bir guclu ozelliğide HTML formlarını idare ediş tarzıdır. Form elemanlarını kullanmaya basit ama cok kullanılan bir ornek verelim... formElemani.html imiz şoyle olsun... <html> <bOdy> <form action="sonuc.php" method="POST"> kimsin? <input type="text" name="ad" /> nerden? <input type="text" name="yer" /> <input type="submit" /> </form> </bOdy> </html> sonuc.php deki kod ise... <html> <bOdy> Selam <?php echo $_POST["ad"]; ?>.<br /> <?php echo $_POST["yer"]; ?> şehrinde havalar nasıl? </bOdy> </html> Bu kodlar POST methodunu kullanıyor, eger GET methodunu kullanmak isteseydik tek yapmamız gereken $_POST yerine $_GET yazmak olucaktır. PHP de çerez işlemleri Çerezler genellikle kullanıcıyı tanımlamak için kullanılır. Çerezin tanımı; Çerez server tarafından kullanıcının bilgisayarına yuklenen e onu tanımlamak için kullanılan bir sistemdir. Her sorguda bu cerezler tekrardan guncellenir. Nasıl çerez yaratırız ? PHP de çerez oluşturmak için setcookie() fonksiyonu kullanılır. Önemli bir noktada bu fonksiyonun <html> tagından once kullanılmasıdır. ifadenin kuruluşu; setcookie(adi, degeri, suresi, yolu, domaini); bunu basit bir kod ile örnekleyelim... <?php setcookie("phpciCerez", $ad, time()+36000); ?> <html> <bOdy> Çerezi oluşturdum bile, sen uyu ![]() </bOdy> </html> Çerezden değer alma Çerezi bir üstte oluşturturduk şimdi bunları kullanalım... Bunun için kullanılan PHP fonksiyonun adı isset() dir. <html> <bOdy> <?php if (isset($_COOKIE["phpciCerez"])) echo "Welcome " . $_COOKIE["phpciCerez"] . "!<br />"; else echo "Hey! senin daha çerezin yok ..<br />"; ?> </bOdy> </html> PHPde include ASP, JSP de oldugu gibi PHP dede bir PHP dosyası içinebaska bir PHP dosyası ekleyebiliyoruz. Bunu yapmak için require() fonksiyonunu kullanıyoruz. bunu basit bir kod ile örnekleyelim... <html> <bOdy> <?php require("usttaraf.php"); ?> kodun devamı.. daha da devamı ... </bOdy> </html> PHP veritabanı ODBC ODBC, veritabanlarına baglanmak için kullanılan uygulamalı programlanabilir arayuzdur. ODBC bağlantısı kurmak ODBC baglantısı kullanarak ağda bulunan herhangi bir veritabanına ODBC baglantısı bulundugu surece baglanmak mumkundur. ODBC kullanarak MS Access veritabanına basıl baglanılacagını anlatalım; +1+ Denetim masası(Control Panel)ndan Yönetimsel araçlara (Administrative Tools) gidin +2+ Veri kaynakları(Data Sources) (ODBC) +3+ Sistem DNS(System DSN) sekmesini seçin +4+ Ekle(Add) butonuna basın +5+ Microsoft Access Driver ı secip Son(Finish)a basın +6+ Karsınıza gelen pencereden ad(Name) ve acıklamasını(Description) girdikten sonra Oluştur(Create) butonuna basıp istediğiniz bir yere veri tabanını olusturun ve OK diyip cıkın. ODBC ile bağlanmak ODBC ile bağlanmak için odbc_connect() fonksiyonu kullanılır. Bu fonksiyon 4 parametre kullanabilir; veritabanı adı, kullanıcı adıi şifre ve isteğe baglı olarak işaretci biçimi. odbc_exect() fonksiyonu ile de SQL ifadeleri kullanılabilir. örnek vericek olursak; $conn=odbc_connect(’baglantim’,’’,’’); $sql="SELECT * FROM bilgi"; $rs=odbc_exec($conn,$sql); Buörnekte baglantim adlı bir DSN ye kullanıcı adı ve şifre kullanmadan baglanıp, bilgi tablosundaki verileri alıyoruz. odbc_fetch_row($rs) gibi bir fonksiyon kullanarak işlemin sonuc kumesindeki sonucları eger varlarsa geri dondurur.. odbc_result() fonksiyonu ilede alanlardaki kayıtları okuyabiliriz. İki adet parametre alabilir; sonuc tanımlayıcı ve alan numarası.. örnek vericek olursak; $sonuc=odbc_result($rs,1); $sonuc2=odbc_result($rs,"Soyad"); dersekte soyad alanındaki kayıtları sonuc2 ye atar... ODBC baglantısını kapatmak içinde odbc_close() fonksiyonu kullanılır. tüm bu ODBC fonksiyonları tek bir örnekte özetleyecek olursak; <html> <bOdy> <?php $bag=odbc_connect(’baglantim’,’’,’’); if (!$bag) { exit($bag . "e baglanti basarisiz ! "); } $sql="SELECT * FROM bilgi"; $rs=odbc_exec($bag$sql); if (!$rs) { exit("SQL ifadesinde hata var !"); } echo "<table><tr>"; echo "<th>Soyad</th>"; echo "<th>Adres</th></tr>"; while (odbc_fetch_row($rs)) { $compname=odbc_result($rs,"Soyad"); $conname=odbc_result($rs,"Adres"); echo "<tr><td>$Soyad</td>"; echo "<td>$Adres</td></tr>"; } odbc_close($bag); echo "</table>"; ?> </bOdy> </html> evet sayın CW liler PHP dersleride bitmiş, umarım azda olsa bişiler kapmıssınızdır. kolay gelsin. PHP Kaynakları http://www.phpkaynak.com http://www.google.com/Top/Computers/...Languages/PHP/ http://www.turk-php.com http://www.php.org.tr http://www.phpkolik.com http://www.phpbul.com http://www.mutasyon.net/makaleler.asp?id=27 http://www.netopsiyon.com/ http://www.dinamit.gen.tr/ http://www.phpkaynak.com http://science.ankara.edu.tr/~demir/progress http://www.ulakbim.gov.tr/belgeler/programlama/2000php http://www.phpdosyasi.com/ http://www.hotscripts.com/PHP/index.html http://www.scriptler.com/?bolum=kategori&tur=php http://www.scripts.com/php-scripts/ guzel bir ebook: (ingilizce) http://sr2.mytempdir.com/30091 (Şifre: Cyber-Warrior) Ebook un tam adı: PHP & MySQL for Dummies 2nd edition (459 sayfa) alıntıdır! |
|
#2
| |||
| |||
| çok güzel paylaşım emeğine sağlık çok işe yaradı |
![]() |
| Konu Araçları | |
| Görünüm Modları | |
| |