Değişkene Değer Atayarak Dinamik Sayfa Hazırlamak
Burada tarayıcı kullanılarak web sayfasındaki değişken değerinin nasıl değiştirilebileceği ve dikkat edilmesi gereken noktalar adım adım anlatılacaktır.
I. ADIM :
Web sunucunun kök dizininde aşağıdaki kodu içeren bir sayfa hazırlayarak tarayıcı ile sayfayı çağırınız.<?php $ElementAdi=$_GET[Element]; echo "Yazdığınız Elementin Adı : $ElementAdi . Başka Bir Element Adı Yazarak Yeniden Deneyin."; ?>I. ADIM Örneğiecho komutu yazdırma komutudur. Komut noktalı virgül (;) karakterini görünceye kadar devam eder. Eğer görüntülenecek ifade burada olduğu gibi string bir ifade ise tek tırnaklar veya çift tırnaklar arasına yazılmalıdır.
Sayfayı çağırdığınızdaYazdığınız Elementin Adı . Başka Bir Element Adı Yazarak Yeniden Deneyin.yazısı ile karşılaşacaksınız. Buradan da göreceğiniz gibi metin içindeki $ElementAdi kaybolmuştur. Bunun nedeni değişkenin bir değerinin olmamasından kaynaklanır.Değişkene değer aktarmak için adresin sonuna ?Element=Sodyum ifadesini ekleyerek ENTER a basınız.
SonucunYazdığınız Elementin Adı : Sodyum . Başka Bir Element Adı Yazarak Yeniden Deneyin.şeklinde değiştiğini göreceksiniz.Yazılan script içindeki
$ElementAdi=$_GET[Element];
satırı değişken atamasının yapıldığı satırdır. Bunun nasıl çalıştığını adım adım anlayalım.
- Tarayıcıda adresin sonuna ?Element=Sodyum yazmıştık.
- Değişkenler konusunu hatırlarsanız. Burada Element değişkenine Sodyum değeri atanmıştır.
- HTML de değişkenler PHP deki gibi $ kullanılmadan tanımlanır.
- $_GET tarayıcıdan gönderilen değerleri toplamak için kullanılan bir başka komuttur. $_GET[Element] tarayıcıdan gönderilen Element değişkeninin değerini alır. Benzer amaçla kullanılan $_POST komutuda vardır. Bu iki komut ileride ayrıntılı şekilde açıklanacaktır.
- $ElementAdi=$_GET[Element]; satırı ile tarayıcıdan alınan bu bilgi ElementAdi değişkenine aktarılır.
- echo komutuda tırnaklar arasındaki string ifadeyi görüntüler.
- Tarayıcıdan değişkenler sayfaya gönderilerken sayfanın sonuna ? karakteri konduktan sonra değişkenler sıralanır. Adım II de buna dikkat ediniz.
II. ADIM :
Web sunucunun kök dizininde aşağıdaki kodu içeren bir sayfa hazırlayarak tarayıcı ile sayfayı çağırınız.<?php $ElementAdi=$_GET[Element]; $ElementSembolu=$_GET[ESembol]; echo "Yazdığınız Elementin Adı : $ElementAdi , Sembolü : $ElementSembolu . "; ?>II. ADIM Örneği
Sayfayı çağırdığınızdaYazdığınız Elementin Adı : , Sembolü : .sonucunun neden geldiğini artık söyleyebilirsiniz.Değişkene değer aktarmak için adresin sonuna ?Element=Potasyum&ESembol=K ifadesini ekleyerek ENTER a basınız.
SonucunYazdığınız Elementin Adı : Potasyum , Sembolü : K .şeklinde değiştiğini göreceksiniz. Bunu açıklayabilirsiniz. Ancak bir iki noktayı aydınlatmakta yarar var.
- Gördüğünüz gibi değişkenler gönderilmeden önce adresin sonuna öncelikle ? karakteri konuluyor.
- Tarayıcıdan gönderilen Değişken ve değerlerini & karakteri ile ayırmak gerekir.
GOOGLE da bir arama yaparak adres çubuğundaki adresi inceleyiniz. Yukarıda anlatılanlar doğrultusunda tartışınız.
III. ADIM :
I. Adımdaki örneği aşağıdaki şekilde tek tırnaklı olarak hazırlayın. örneği tarayıcı ile çağırın.
Tarayıcıda adresin sonuna ?Element=Bakır yazarak ENTER a basın.
III. ADIM (I. ADIM) Örneği
Sayfayı çağırdığınızdaYazdığınız Elementin Adı : Bakır . Başka Bir Element Adı Yazarak Yeniden Deneyin.sonuç yukarıdaki gibi olabilir. Bakır yerine Bakır çıktığını görebilirsiniz. Belki de Bakır yazar. Bu tarayıcınızın ayarına kalmıştır. Bunu düzeltmek için tarayıcıyı HTML kodları kullanarak zorlamalısınız. Yani çağırılan sayfaya sayfanın türkçe karakterler içerdiğini söylemeniz gerekir.IV. ADIM :
Bu adımda değişkenlere değer atayarak basit bir hesaplama yapalım. Bir Gazın basıncını hesaplamak için genel gaz eşitliğinden yararlanırız. Genel gaz denklemi P = nRT/V şeklindedir. Burada n; gazın mol sayısı, R ; gaz sabiti değeri 0.082 atm L mol-1 K-1 T ; Kelvin skalasında sıcaklık ve V ; litre biriminde hacim olarak alınırsa P ; basıncı atmosfer olarak çıkar.
Bu bilgiyi kullanarak basit bir hesaplama programcığı aşağıdaki gibi olabilir.<?php $mol=$_GET[n]; $Sicaklik=$_GET[T]; $Hacim=$_GET[V]; $P=$mol*0.082*$Sicaklik/$Hacim; echo "P = $P atm. dir. "; ?>Bu kodu kullanın ve tarayıcı ile sayfayı çağırın.
Warning: Division by zero in /usr/local/www/lisans/dersler/AlgoritmaVeHesaplamaliKimya/Ornekler/DegiskenDegeri4.php on line 7 P = atm. dir.
Bunun nedeni değişkenler boş olduğundan sıfır bölü sıfır (0/0) belirsizlik durumunun bir sonucudur. Yine de böyle bir hata mesajını ilk anda görmek rahatsız edici bir durum, yine de buna aldırmadan PHP kodu içindeki değişkenleri sayfaya daha önce öğrendiğimiz şekilde gönderebilir. Örneğin sayfanın sonuna ?n=1&T=298&V=22.4 yazın ENTER a basarsak;P = 1.09089285714 atm. dir.sonucunu görebilirsiniz. En azından basıncı hesaplayabildik.
IV. ADIM ÖrneğiBu III. ve IV. adımlardaki problemlerimize bakarsak;
- Türkçe Problemleri
- PHP kodu içindeki değişkenleri ve adlarını sayfayı yükleyen herhangi biri nasıl bilecek
- Değişken adları bilinse bile düzgün şekilde adres çubuğuna nasıl yazılacak
- Tarayıcıya gelen sonuçlar nasıl düzgün görüntülenecek
Bu problemleri aşabilmek için sayfaya HTML kodları eklemeliyiz. Ayrıca;
- IV. adımdaki P = 1.09089285714 atm. sonucunu P = 1.1 atm. olarak görmekte bilimsel açıdan çok daha iyi olurdu.
- Warning: Division by zero in /usr/local/www/lisans/dersler/AlgoritmaVeHesaplamaliKimya/Ornekler/DegiskenDegeri4.php on line 7
Bu eksiklik veya hataları gidermek için başka PHP komutlarına ihtiyacımız olacak.
Kaynaklar
- http://tr2.php.net/docs.php (11.02.2018)