Softmush.com, teknoloji, yazılım ve dijital dünyaya dair derinlemesine içeriklerle bilgiye ulaşmanın güvenilir adresi. - Softmush.com
“ Söz konusu olan vatansa, gerisi teferruat. ”
Mustafa K. Atatürk
PHP Dilinde Öntanımlı Değişkenler Kullanımı

PHP Dilinde Öntanımlı Değişkenler Kullanımı

PHP geliştiricileri için öntanımlı değişkenler, web uygulamalarının kalbinde yer alan temel bir yapıdır. Bu değişkenler, PHP tarafından otomatik olarak oluşturulur ve bir betiğin herhangi bir yerinden erişilebilir durumdadırlar. HTTP isteklerinden oturum verilerine, sunucu bilgilerinden dosya yüklemelerine kadar uygulamanın farklı katmanlarından bilgiye erişimi kolaylaştırarak dinamik ve etkileşimli web sayfaları oluşturulmasına olanak tanırlar.


Öntanımlı Değişkenlere Genel Bakış


PHP, betik yürütülmeden önce veya yürütme sırasında otomatik olarak doldurulan bir dizi özel değişkene sahiptir. Bu değişkenler, "süper global" olarak da adlandırılır, çünkü kapsamları ne olursa olsun (fonksiyonlar, sınıflar veya global kapsam) PHP betiğinin her yerinden erişilebilirler. En yaygın kullanılan öntanımlı değişkenler şunlardır:


  • $_GET: HTTP GET metodu ile gönderilen verileri içerir.

  • $_POST: HTTP POST metodu ile gönderilen verileri içerir.

  • $_REQUEST: Hem $_GET hem de $_POST ve $_COOKIE verilerini içerir.

  • $_SESSION: Oturum değişkenlerini içerir. Oturum başlatıldıktan sonra kullanılabilir.

  • $_COOKIE: HTTP çerezlerini içerir.

  • $_SERVER: Sunucu ve yürütme ortamı hakkında bilgi içerir.

  • $_FILES: HTTP POST metodu ile yüklenen dosyalar hakkında bilgi içerir.

  • $_ENV: Ortam değişkenlerini içerir.


Temel Sözdizimi


Öntanımlı değişkenler, bir dizi gibi davranır ve içerdikleri verilere anahtar-değer çiftleri aracılığıyla erişilir. Genel sözdizimi aşağıdaki gibidir:

$_DEĞİŞKEN_ADI['anahtar'];

Burada;


  • $_DEĞİŞKEN_ADI: Erişmek istediğiniz öntanımlı değişkenin adını (örn. $_GET, $_POST) temsil eder.

  • 'anahtar': Erişilmek istenen verinin benzersiz tanımlayıcısını temsil eder. Bu, bir HTML formundaki bir alanın name özelliği, bir URL sorgu parametresinin adı, bir çerezin adı veya bir sunucu bilgisinin spesifik bir etiketi olabilir.


Detaylı Açıklama


Her bir süper global değişkenin işlevselliği ve tipik kullanım alanları aşağıda açıklanmıştır:


  • $_GET:


    Tarayıcının adres çubuğunda (URL'de) ? işaretinden sonra gelen sorgu dizgisindeki parametrelere erişmek için kullanılır. Örneğin, example.com/sayfa.php?id=123&ad=test URL'sinde id ve ad parametrelerine $_GET['id'] ve $_GET['ad'] ile erişilebilir.


  • $_POST:


    HTML formları aracılığıyla HTTP POST metodu kullanılarak gönderilen verilere erişmek için kullanılır. Bu veriler URL'de görünmez ve genellikle hassas bilgiler (şifreler) veya büyük veri setleri için tercih edilir.


  • $_REQUEST:


    PHP'nin yapılandırmasına (variables_order) bağlı olarak $_GET, $_POST ve $_COOKIE değişkenlerinin içeriğini birleştirir. Ancak, değişken önceliği nedeniyle beklenmedik davranışlara yol açabileceği için genellikle doğrudan $_GET veya $_POST kullanılması önerilir.


  • $_SESSION:


    Kullanıcı oturumları arasında veri saklamak için kullanılır. Bir kullanıcının web sitesindeki etkileşimlerini takip etmek (giriş durumu, sepet içeriği vb.) için idealdir. Kullanmadan önce session_start() fonksiyonu çağrılmalıdır.


  • $_COOKIE:


    Kullanıcının tarayıcısında depolanan HTTP çerezlerine erişmek için kullanılır. Çerezler, kullanıcı tercihlerini veya kimlik bilgilerini saklamak gibi amaçlarla kullanılabilir.


  • $_SERVER:


    Web sunucusu ve geçerli yürütme ortamı hakkında kapsamlı bilgi sağlar. Örneğin, $_SERVER['REQUEST_METHOD'] ile HTTP isteğinin metodunu (GET, POST), $_SERVER['REMOTE_ADDR'] ile kullanıcının IP adresini alabilirsiniz.


  • $_FILES:


    HTML formları aracılığıyla yüklenen dosyalar hakkında bilgi (dosya adı, türü, boyutu, geçici konumu) içerir. Dosya yükleme işlemleri için özel olarak tasarlanmıştır.


  • $_ENV:


    Çevre değişkenlerini içerir. Bu değişkenler, web sunucusunun (Apache, Nginx vb.) veya işletim sisteminin PHP betiğine sağladığı sistem düzeyindeki ayarlardır.



Pratik Kullanım Örnekleri


Aşağıdaki örnekler, öntanımlı değişkenlerin PHP betiklerinde nasıl kullanıldığını göstermektedir.


Örnek 1: $_GET Kullanımı


Bu örnekte, bir URL'den ad parametresini alıp ekrana yazdıracağız. Öncelikle, kullanıcıdan adını isteyen bir HTML formu oluşturalım:





    
    GET Örneği


    

Adınızı Girin (GET)

Şimdi de islem.php dosyasında bu veriyi işleyelim:


Merhaba, " . $ad . "!

"; } else { echo "

Lütfen adınızı girin.

"; } ?>

Örnek 2: $_POST Kullanımı


Bu örnek, bir form aracılığıyla HTTP POST metodu ile gönderilen kullanıcı adını ve şifresini nasıl işleyeceğimizi gösterir. Yine bir HTML formu ile başlayalım:





    
    POST Örneği


    

Giriş Yap (POST)





Şimdi de giris.php dosyasında bu veriyi işleyelim:


Hoş geldiniz, " . $kullanici_adi . "!

"; } else { echo "

Kullanıcı adı veya şifre yanlış.

"; } } else { echo "

Lütfen kullanıcı adı ve şifrenizi girin.

"; } ?>

Örnek 3: $_SESSION Kullanımı


Bu örnek, oturum değişkenlerini kullanarak kullanıcı girişini simüle eder ve kullanıcının adını oturumda saklar.


Oturum başlatıldı ve 'kullanici_adi' Mehmet olarak ayarlandı.

"; echo "

Oturum verisini oku

"; ?>

Oturumdaki kullanıcı adı: " . htmlspecialchars($_SESSION['kullanici_adi']) . "

"; } else { echo "

Oturumda 'kullanici_adi' bulunamadı.

"; } echo "

Oturumu Bitir

"; ?>

Oturum sonlandırıldı.

"; echo "

Oturum verisini tekrar oku (boş olmalı)

"; ?>

Örnek 4: $_SERVER Kullanımı


Bu örnek, $_SERVER değişkeni aracılığıyla sunucu ve istek bilgilerine nasıl erişileceğini gösterir.

Sunucu Bilgileri";
echo "

İstek Metodu: " . $_SERVER['REQUEST_METHOD'] . "

"; echo "

Sunucu Adı: " . $_SERVER['SERVER_NAME'] . "

"; echo "

Sunucu Yazılımı: " . $_SERVER['SERVER_SOFTWARE'] . "

"; echo "

İstek URI: " . $_SERVER['REQUEST_URI'] . "

"; echo "

Kullanıcının IP Adresi: " . $_SERVER['REMOTE_ADDR'] . "

"; // Tüm _SERVER değişkenlerini görmek için: // echo "
";
// print_r($_SERVER);
// echo "
"; ?>

Önemli Notlar ve Güvenlik İpuçları


  • Veri Doğrulama ve Filtreleme: Kullanıcıdan gelen tüm girişler ($_GET, $_POST, $_COOKIE vb.), herhangi bir işlem yapılmadan veya veritabanına kaydedilmeden önce mutlaka doğrulanmalı ve filtrelenmelidir. Bu, SQL enjeksiyonu, XSS (Cross-Site Scripting) ve diğer güvenlik açıklarına karşı kritik bir önlemdir. PHP'nin htmlspecialchars(), strip_tags(), filter_var() gibi fonksiyonları bu amaçla kullanılabilir.

  • $_REQUEST Kullanımından Kaçınma: Değişken önceliği ayarları nedeniyle $_REQUEST kullanımı, beklenmedik sonuçlara yol açabilir. Mümkün olduğunca spesifik olarak $_GET veya $_POST kullanılması daha güvenli ve öngörülebilirdir.

  • isset() ile Kontrol: Öntanımlı değişkenlerdeki bir anahtara erişmeden önce, o anahtarın gerçekten var olup olmadığını isset() fonksiyonu ile kontrol etmek iyi bir uygulamadır. Bu, "Undefined index" uyarılarını ve potansiyel hataları önler.

  • Oturum Güvenliği: Oturum güvenliği için session_start() her sayfanın başında çağrılmalı ve oturum kimliği sabitleme (session fixation) ve oturum kaçırma (session hijacking) gibi risklere karşı dikkatli olunmalıdır. Oturum verileri hassas bilgiler içeriyorsa, ek şifreleme veya token mekanizmaları düşünülebilir.

  • Dosya Yükleme Güvenliği: $_FILES ile dosya yüklerken, yüklenen dosya türü, boyutu ve içeriği mutlaka doğrulanmalıdır. Kötü amaçlı dosyaların sunucuya yüklenmesini önlemek için sıkı kontroller uygulanmalıdır.

  • Ortam Değişkenleri ve Hassas Bilgiler: $_ENV ve $_SERVER gibi değişkenler hassas sunucu veya sistem yapılandırma bilgilerini içerebilir. Bu bilgilerin yanlışlıkla son kullanıcıya gösterilmemesine dikkat edilmelidir.

Yayınlanma Tarihi: 2025-10-17 16:00:52
Python Dilinde Yapısal Desen Eşleştirme (Structural Pattern Matching) ve Match Deyimi Kullanımı
Önceki Haber

Python Dilinde Yapısal Desen Eşleştirme (Structural Pattern Matching) ve Match Deyimi Kullanımı

Python Makaleleri
Sonraki Haber

HTML Dilinde Listelerin Kullanımı: Detaylı Bir Kılavuz

HTML Makaleleri
HTML Dilinde Listelerin Kullanımı: Detaylı Bir Kılavuz

Yorum yap

Yorum yapabilmek için  giriş  yapmalısınız.

Yorumlar

Bu yazı hakkında henüz yorum yapılmamıştır.
× PHP Dilinde Hata ve İstisna Yönetimi
Bu ilginizi çekebilir

PHP Dilinde Hata ve İstisna Yönetimi

PHP dilinde hata ve istisna yönetimi, uygulamaların beklenmedik durumlarla nasıl başa...