PHP Eğitim Serisi: Ders #2 - Basit Bir Eğitmen - Yazdırılabilir Sürüm +- WMWW | Webmaster Forumu | Webmaster Platformu (https://wmwebworld.com/forum) +-- Forum: Webmaster Dünyası (https://wmwebworld.com/forum/webmaster-dunyasi) +--- Forum: Programlar & Programlama (https://wmwebworld.com/forum/programlar-programlama) +--- Konu: PHP Eğitim Serisi: Ders #2 - Basit Bir Eğitmen (/f-php-egitim-serisi-ders-2-basit-bir-egitmen.html) |
PHP Eğitim Serisi: Ders #2 - Basit Bir Eğitmen - oxcakmak - 08-26-2020 PHP Eğitim Serisi: Ders #2 - Basit Bir Eğitmen
Bu bölümde PHP ile ilgili en temel bilgileri kısa ve basit olarak anlatmak istiyorum. PHP tarafından etkinleştirilen site sayfaları normal HTML sayfaları... merhaba.php isimli bir dosya oluşturun ve HTML sunucunuzun belge kök dizinine (DOCUMENT_ROOT) aşağıdaki içerikle kaydedin: Örnek 1 - İlk PHP betiğimiz: merhaba.php Kod: <html> Tarayıcınızı kullanarak HTTP sunucunuzun adresine erişebilirsiniz, sunucunuzun alan adının sonuna /merhaba.php eklemeniz yeterli olacaktır. Yerel olarak geliştirme yaparken bu URL ya da gibi bir şey olacaktır, ancak bu HTTP sunucusunun yapılandırma ayarlarına bağlıdır. Eğer her şey düzgün yapılandırılmışsa, bu dosya PHP tarafından işlenecek ve aşağıdaki çıktı tarayıcınıza gönderilecektir: Kod: <html> Alıntı: Bu örneği denediyseniz ve hiçbir çıktı alamadıysanız, sizden dosyayı indirmenizi istediyse ya da dosyanın tüm içeriğini metin olarak ekranda gördüyseniz, büyük ihtimalle sunucunuzun PHP desteği etkinleştirilmemiştir ya da sunucunuz doğru yapılandırılmamıştır. Alıntı: Bilginize: Satırsonları hakkında Artık çalışır bir PHP betiğini başarıyla oluşturduğunuza göre, PHP betiklerinin en ünlüsünü oluşturma zamanı geldi demektir. Örnek 2 - PHP ile sistem bilgisine ulaşmak Kod: <?php phpinfo(); ?> Şimdi daha işe yarar bir şey yapalım. Ziyaretçilerinizin hangi tarayıcıyı kullandığını tespit edelim. Bunun için, ziyaretçinizin tarayıcısı tarafından HTTP isteği ile birlikte gönderilen kullanıcı aracısı dizgesine bakacağız. Bu bilgi bir değişkende saklanır. Değişkenler PHP'de her zaman dolar işareti ile başlar. Bizim şu an için ilgilendiğimiz değişken $_SERVER['HTTP_USER_AGENT']'tir. Alıntı: $_SERVER PHP kullanımına ayrılmış özel bir değişken olup HTTP sunucusunun tüm bilgilerini içerir. Bu tür değişkenlere süper küreseller denir. Bu özel değişkenler PHP » 4.1.0 sürümünden itibaren kullanılmaya başlanmıştır. Daha öncesinde, $HTTP_SERVER_VARS gibi eski $HTTP_*_VARS dizileri kullanılmaktaydı. Ömrünü doldurmuş olsa da, bu eski tarz değişkenler hala kullanılabilmektedir. Bu değişkenin değerini görüntülemek için yapmanız gereken: Örnek 3 - Bir değişkeni (dizi öğesini) yazdırmak Kod: <?php echo $_SERVER['HTTP_USER_AGENT']; ?> Bu betiğin çıktısı şöyle bir dizge olabilirdi: Kod: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) PHP'de birçok farklı değişken türü mevcuttur. Yukardaki örnekte bir diziye ait bir öğeyi yazdırdık. Diziler çok kullanışlı olabilirler. $_SERVER PHP tarafından kullanımınıza özdevinimli olarak sunulan bir değişkendir. Bir önceki örnekte kullandığımız phpinfo() işlevi ile üretilen çıktıya bakarak bütün listeye ulaşabilirsiniz. PHP etiketinin içine birden çok PHP komutu koyabilir ve tek bir echo komutundan daha fazlasını yapan küçük kod blokları oluşturabilirsiniz. Örneğin, ziyaretçinizin Internet Explorer kullanıp kullanmadığını şöyle öğrenebilirsiniz: Örnek 4 - Denetim yapılarının ve işlevlerin kullanım örneği Kod: <?php Bu betiğin çıktısı şöyle olabilirdi: Kod: Internet Explorer kullanmaktasınız.<br /> Burada birkaç yeni kavramı devreye soktuk. Bir if deyimimiz var. Eğer C dilinde kullanılan temel sözdizimine aşinalığınız varsa, bu kullanım size tanıdık gelecektir. Devreye soktuğumuz ikinci kavram, strpos() işlevi ile yaptığımız çağrı oldu. strpos(), bir dizgeyi başka bir dizgenin içinde arayan yerleşik bir PHP işlevidir. Burada 'MSIE' dizgesini $_SERVER['HTTP_USER_AGENT'] içinde arıyoruz. Eğer iğne samanlıkta bulunursa işlev iğnenin konumunu samanlığın başlangıcına göreli olarak döndürür. Aksi takdirde FALSE döner. if ifadesinin sonucu TRUE olduğu takdirde FALSE dönmez ve kaşlı ayraçlar arasındaki kod çalıştırılır. Aksi takdirde kod çalıştırılmaz. If, else gibi denetim yapıları ile strtoupper() ve strlen() gibi işlevleri kullanarak siz de benzer örnekler yazabilirsiniz. Bunu bir adım öteye taşıyabilir ve bir PHP bloğunun tam ortasındayken bile PHP kipine nasıl girip çıkabileceğimize bakabiliriz: Örnek 5 - HTML ve PHP kiplerini karıştırmak Kod: <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { ?> Bu betikten elde edilecek sonuç: Kod: <h3>strpos() false olmayan bir değer döndürmelidir</h3> Bir çıktı üretmek için PHP echo komutunu kullanmak yerine, PHP kipinden çıktık ve sadece düz HTML gönderdik. Burada dikkat edilmesi gereken önemli nokta, betiğin mantıksal akışının değişmiyor olmasıdır. strpos() işlevinden edinilen sonuca göre HTML bloklarından yalnızca biri görüntüleyiciye gönderilmektedir. Başka bir deyişle, bu işleyiş MSIE değişkeninin bulunup bulunmamasına bağlıdır. Form Kullanımı PHP'nin en güçlü özelliklerinden biri HTML formlarına yaklaşım biçimidir. Bilinmesi gereken ilk önemli durum, form içindeki tüm elemanların PHP tarafından özdevinimli olarak kullanılabilir olacağıdır. Örnek 6 - Örnek bir HTML formu Kod: <form action="action.php" method="post"> Bu formda özel hiçbir şey yoktur. Hiçbir özel etiket içermeyen düz bir HTML formudur. Kullanıcı formu doldurup gönder tuşuna bastığında, action.php sayfası çağrılır. Bu dosyaya aşağıdakileri yazabiliriz: Örnek 7 - Formdan veri yazdırmak Kod: Merhaba <?php echo htmlspecialchars($_POST['isim']); ?>. Bu betikten elde edilecek örnek çıktı: Kod: Merhaba Ahmet. Siz 22 yaşındasınız. htmlspecialchars() ve (int) kısımları harcinde yapılan iş oldukça açık. htmlspecialchars() işlevi HTML'ye özel karakterlerin doğru şekilde kodlandığından emin olunmasını sağlar, dolayısıyla başkaları sayfanıza dışardan HTML etiketleri veya Javascript yerleştiremez. Yaş alanınında ise değerin bir tamsayı olması gerektiğini bildiğimiz için değeri integer türüne dönüştürmekle özdevinimli olarak bu alana girilmesi olası başı boş karakterlerden de kurtulmuş olduk. Ayrıca, bunun PHP'de sizin yerinize özdevinimli olarak yapılmasını sağlamak için süzgeç eklentisini de kullanabilirdiniz. $_POST['isim'] değişkeni ve $_POST['yaş'] değişkenleri sizin yerinize PHP tarafından özdevinimli olarak oluşturulur. Daha önce $_SERVER süper küresel değişkenini kullanmıştık, yukarıda ise tüm POST verisini içeren $_POST süper küresel değişkenini tanımış olduk. Formumuz için tanımlı yöntemin POST oluşuna dikkat edin. GET yöntemini kullanmış olsaydık, form bilgilerimiz $_GET süper küresel değişkenine atanmış olacaktı. Bunların haricinde, istemciden gelen verinin hangi kaynaktan geldiği sizin için önemli değilse $_REQUEST süper küreselini de kullanabilirdiniz. Bu değişken GET, POST ve COOKIE verilerinin birleşiminden oluşur. Kaynak: |