shrpnl 1
shrpnl
Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

PHP - Web Kavramları

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
VIP Üye
Katılım
2 Mar 2015
Konular
59,189
Mesajlar
88,439
Çözüm
109
Online süresi
4mo 16d
Reaksiyon Skoru
14,280
Altın Konu
2,398
TM Yaşı
11 Yıl 3 Ay 6 Gün
Başarım Puanı
1,051
MmoLira
695,092
DevLira
234
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

PHP, dinamik web sayfaları oluşturmak için kullanılan bir sunucu tarafı betik dilidir. Web geliştirme için en popüler programlama dillerinden biridir. Bu bölüm, PHP kullanarak web uygulaması geliştirmenin belirli önemli kavramlarına aşina olmanızı sağlamayı amaçlamaktadır.

Web tabanlı bir uygulama, bir web sayfası koleksiyonudur. Bir web sayfası esas olarak HTML etiketleriyle oluşturulur. HTML, metin, resim, tablo vb. gibi sayfa öğelerinin görünümünü tanımlamak için gereken farklı HTML etiketlerinden oluşur. Bu nedenle, HTML esasen statik bir web sayfası oluşturur.

Bir Web uygulaması, PHP modülü yüklü bir HTTP sunucusunda barındırılır. Tarayıcı, HTTP protokolünü izleyerek sunucuyla iletişim kurmak için bir http istemcisi gibi davranır.

1.jpg

Bir Web Sayfasına Dinamik İçerik Nasıl Eklenir?

Bir web sayfasına dinamik içerik eklemek için iki olasılık vardır.

JavaScript, HTML belge nesne modeline erişebilen ve istemci tarayıcısında dinamik içerik oluşturabilen bir istemci tarafı betik dilidir. JavaScript kodu HTML sayfasına gömülebilir.

Tarayıcı, kullanıcıdan HTML form öğeleri biçiminde veri toplayabilir ve işlenmek üzere bir HTTP sunucusuna gönderebilir. PHP yaygın olarak kullanılan bir Sunucu tarafı işleme dilidir. PHP betiği ayrıca HTML sayfasının içine de yerleştirilebilir.

Örnek

Aşağıdaki betikte, HTML'e gömülü JavaScript kodu, geçerli tarihi istemci tarayıcısına göre işler ve PHP kodu, geçerli tarihi, bu betiğin barındırıldığı sunucuya göre görüntüler.

JavaScript:
<!DOCTYPE html>
<html>
<body>
   <script type="text/JavaScript">
      document.write("Client's date :"+Date()+"\n");
   </script>
   <?php
      date_default_timezone_set("Asia/Calcutta");
      echo "server's date is " . date("Y-m-d") . "\n";
      echo "The time is " . date("h:i:sa");
   ?>
</body>
</html>

PHP, HTML formlarından gelen verileri yakalayabilir ve işleyebilir. Bu, kullanıcılarınızdan bilgi toplamanıza olanak tanır. Bir sonraki bölüm PHP'nin form işlemesini ele almaktadır.

PHP, MySQL ve PostgreSQL gibi veritabanlarıyla etkileşim kurmak için kullanılabilir. Bu, veritabanınızdan veri depolamanıza ve almanıza ve web sayfalarını dinamik olarak doldurmanıza veya web uygulamalarına güç sağlamanıza olanak tanır. PHP, veritabanı işleme için mysql, mysqli ve PDO uzantılarını içerir.

PHP, istemciden alınan verileri HTTP GET ve POST yöntemleriyle işleyebilir. PHP'nin GET/POST yöntemlerini nasıl işlediğini sonraki bölümlerden birinde ayrıntılı olarak tartışacağız.

HTTP durumsuz bir protokoldür. Ancak, sırasıyla sunucu ve istemcide Oturumlar ve çerezlerin tutulmasına izin verir. PHP, oturumlar ve çerezler oluşturmak ve yönetmek için kullanılabilir. Oturumlar, web sitenizde gezinen bireysel kullanıcıları izlemenize olanak tanırken, çerezler daha sonra kullanılmak üzere kullanıcının bilgisayarında bilgi depolamanıza olanak tanır. Sonraki bölümlerde, PHP'nin oturumları ve çerezleri nasıl işlediğini öğreneceğiz.

PHP, dosyaları web sunucunuza yüklemek için kullanılabilir. Bu, kullanıcıların resim, video veya belge gibi dosyaları yüklemesine izin veren web uygulamaları oluşturmanıza olanak tanır.

Web siteniz için bir giriş sayfası oluşturmak için PHP kullanabilirsiniz. Kullanıcı kullanıcı adı ve şifresini girdiğinde, PHP kullanıcının geçerli olup olmadığını görmek için veritabanını kontrol edebilir. Kullanıcı geçerliyse, PHP kullanıcıyı oturum açabilir ve web sitenizin ana sayfasına yönlendirebilir.


Tarayıcı ve Platformu Tanımlama

PHP , PHP ortamını kurmak için kullanılan phpinfo.php sayfasında görülebilen bazı yararlı ortam değişkenleri oluşturur.

PHP'nin belirlediği ortam değişkenlerinden biri de kullanıcının tarayıcısını ve işletim sistemini tanımlayan HTTP_USER_AGENT'tır.

PHP, tüm ortam değişkenlerinin değerine erişmek için getenv() adlı bir fonksiyon sağlar. HTTP_USER_AGENT ortam değişkeninde bulunan bilgiler, tarayıcıya uygun dinamik içerik oluşturmak için kullanılabilir.

Örnek

Aşağıdaki örnek, bir istemci tarayıcısını ve işletim sistemini nasıl tanımlayabileceğinizi göstermektedir.

PHP:
<?php
   function getBrowser() {
      $u_agent = $_SERVER['HTTP_USER_AGENT'];
      $bname = 'Unknown';
      $platform = 'Unknown';
      $version = "";
           
      //First get the platform
      if (preg_match('/linux/i', $u_agent)) {
         $platform = 'linux';
      } elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
         $platform = 'mac';
      } elseif (preg_match('/windows|win32/i', $u_agent)) {
         $platform = 'windows';
      }
           
      // Next get the name of the useragent yes seperately and for good reason
      if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) {
         $bname = 'Internet Explorer';
         $ub = "MSIE";
      } elseif(preg_match('/Firefox/i',$u_agent)) {
         $bname = 'Mozilla Firefox';
         $ub = "Firefox";
      } elseif(preg_match('/Chrome/i',$u_agent)) {
         $bname = 'Google Chrome';
         $ub = "Chrome";
      } elseif(preg_match('/Safari/i',$u_agent)) {
         $bname = 'Apple Safari';
         $ub = "Safari";
      } elseif(preg_match('/Opera/i',$u_agent)) {
         $bname = 'Opera';
         $ub = "Opera";
      } elseif(preg_match('/Netscape/i',$u_agent)) {
         $bname = 'Netscape';
         $ub = "Netscape";
      }
           
      // finally get the correct version number
      $known = array('Version', $ub, 'other');
      $pattern = '#(?<browser>' . join('|', $known) . ')
         [/ ]+(?<version>[0-9.|a-zA-Z.]*)#';

      if (!preg_match_all($pattern, $u_agent, $matches)) {
         // we have no matching number just continue
      }

      // see how many we have
      $i = count($matches['browser']);

      if ($i != 1) {
         //we will have two since we are not using 'other' argument yet

         //see if version is before or after the name
         if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
            $version= $matches['version'][0];
         } else {
            $version= $matches['version'][1];
         }
      } else {
         $version= $matches['version'][0];
      }
           
      // check if we have a number
      if ($version == null || $version == "") {$version = "?";}
         return array(
            'userAgent' => $u_agent,
            'name'      => $bname,
            'version'   => $version,
            'platform'  => $platform,
            'pattern'   => $pattern
         );
   }
       
   // now try it
   $ua = getBrowser();
   $yourbrowser = "Your browser: " . $ua['name'] . " " . $ua['version'] .
   " on " .$ua['platform'] . " reports: <br >" . $ua['userAgent'];

   print_r($yourbrowser);
?>

Bu, benim makinemde aşağıdaki sonucu üretiyor. Bu sonuç, kullandığınız şeye bağlı olarak bilgisayarınızda farklı olabilir.

Aşağıdaki sonucu üretecektir:

Your browser: Google Chrome 54.0.2840.99 on windows reports:
Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/54.0.2840.99 Safari/537.36

Görüntüleri Rastgele Göster

PHP rand() fonksiyonu rastgele bir sayı üretmek için kullanılır. Bu fonksiyon belirli bir aralıktaki sayıları üretebilir. Düzenli bir sayı deseninin üretilmesini önlemek için rastgele sayı üreteci tohumlanmalıdır. Bu, tohum numarasını argümanı olarak belirten srand() fonksiyonu kullanılarak elde edilir.

Örnek

Aşağıdaki örnek, dört resimden her seferinde farklı bir resmin nasıl görüntülenebileceğini göstermektedir.

PHP:
<?php
   srand( microtime() * 1000000 );
   $num = rand( 1, 4 );
       
   switch( $num ) {
      case 1: $image_file = "/php/images/php_image_sample_1.jpg";
         break;
           
      case 2: $image_file = "/php/images/php_image_sample_2.jpg";
         break;
           
      case 3: $image_file = "/php/images/php_image_sample_3.jpg";
         break;
           
      case 4: $image_file = "/php/images/php_image_sample_4.jpg";
         break;
   }
   echo "Random Image : <img src=$image_file />";
?>

Aşağıdaki sonucu üretecektir:

php_image_sample_3.jpg

HTML Formlarını Kullanma

HTML formları ve PHP ile çalışırken dikkat edilmesi gereken en önemli şey, bir HTML sayfasındaki herhangi bir form öğesinin otomatik olarak PHP betiklerinizde kullanılabilir olacağıdır.

Örnek

Aşağıdaki örneği test.php betiğine kaynak kodunu koyarak deneyin.

PHP:
<?php
   if( $_POST["name"] || $_POST["age"] ) {
      if (preg_match("/[^A-Za-z'-]/",$_POST['name'] )) {
         die ("invalid name and name should be alpha");
      }
     
      echo "Welcome ". $_POST['name']. "<br />";
      echo "You are ". $_POST['age']. " years old.";
     
      exit();
   }
?>
<form action = "<?php <b>$_PHP_SELF</b> ?>" method = "POST">
   Name: <input type = "text" name = "name" />
   Age: <input type = "text" name = "age" />
   <input type = "submit" />
</form>

Aşağıdaki sonucu üretecektir:

forms.jpg

  • PHP varsayılan değişkeni $_PHP_SELF, PHP betiğinin adı için kullanılır ve "Gönder" düğmesine tıkladığınızda aynı PHP betiği çağrılır ve aşağıdaki sonucu üretir.
  • method = "POST" kullanıcı verilerini sunucu betiğine göndermek için kullanılır. Sunucu betiğine veri göndermenin PHP GET & POST bölümünde ele alınan iki yöntemi vardır.

Tarayıcı Yönlendirmesi

PHP header() fonksiyonu tarayıcıya ham HTTP başlıkları sağlar ve tarayıcıyı başka bir yere yönlendirmek için kullanılabilir. Yönlendirme betiği sayfanın en üstünde olmalı, böylece sayfanın başka bir bölümünün yüklenmesi önlenmelidir.

Hedef, header() fonksiyonuna argüman olarak Location: başlığı tarafından belirtilir. Bu fonksiyonu çağırdıktan sonra, kodun geri kalanının ayrıştırılmasını durdurmak için exit() fonksiyonu kullanılabilir.

Örnek

Aşağıdaki örnek, bir tarayıcı isteğini başka bir web sayfasına nasıl yönlendirebileceğinizi gösterir. Kaynak kodunu test.php betiğine koyarak bu örneği deneyin.

PHP:
<?php
   if( $_POST["location"] ) {
      $location = $_POST["location"];
      header( "Location:$location" );
     
      exit();
   }
?>
<p>Choose a site to visit :</p>  
<form action = "<?php <b>$_SERVER['PHP_SELF']</b> ?>" method ="POST">
   <select name = "location">.
       
      <option value = "http://www.tutorialspoint.com">
         Tutorialspoint.com
      </option>
       
      <option value = "http://www.google.com">
         Google Search Page
      </option>
       
   </select>
   <input type = "submit" />
</form>

Aşağıdaki sonucu üretecektir:


browser_redirection.jpg
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst