CodeBlanks Logo Icon CodeBlanks

$_POST ile veri alma

PHP kursu · Başlangıç · Ders 96/116

$_POST ile formdan gönderilen veriyi almayı öğrenirsin.

$_POST ile veri alma

$_POST süper globali, HTTP POST isteğinin gövdesinde gelen form verilerini associative dizi olarak tutar. Bir form method='post' ile gönderildiğinde, her alanın name özniteliği aynı anahtar olur.

Örneğin name='email' olan bir alan gönderildiğinde $_POST['email'] değeri formdaki yazıdır. POST verisi URL'de görünmez; bu yüzden şifre ve uzun form verileri için uygundur. CLI'da $_POST boştur, elle doldurup test edebilirsin.

?? ile eksik anahtar kontrolü

Bir formdan her zaman beklediğin alanları gelmeyebilir; bu yüzden $_POST anahtarına erişmeden önce kontrol şarttır. PHP'nin ?? işleci (null coalescing) eksik anahtarlara varsayılan değer verir.

Örnek: $name = $_POST['name'] ?? 'Misafir';. Eğer formda name alanı yoksa $_POST['name'] yerine 'Misafir' kullanılır. Bu, isset() kontrolünden daha kısa bir yazımdır ve eksik anahtarlarda hatasız çalışır.

Uygulama $_POST değerlerini ata ve yazdır

$_POST['username'] = "ayse"; ve $_POST['email'] = "ayse@test.com"; atamalarını yap. Sonra echo ile şu çıktıyı üret: kullanıcı: ayse, e-posta: ayse@test.com ve sonuna "\n" ekle.

Örnek çözümü göster
$_POST['username'] = "ayse"; ve $_POST['email'] = "ayse@test.com";. Sonra echo "kullanıcı: " . $_POST['username'] . ", e-posta: " . $_POST['email'] . "\n"; yaz.
Örnek çözüm:
<?php
// $_POST değerlerini ata ve yazdır
$_POST['username'] = "ayse";
$_POST['email'] = "ayse@test.com";
echo "kullanıcı: " . $_POST['username'] . ", e-posta: " . $_POST['email'] . "\n";

Kendini test et

  1. name='email' alanı POST ile gönderildi. Değere nasıl ulaşırsın?

    • $_POST[email]
    • $_GET['email']
    • $_SERVER['email']
    • $_POST['email']
    Cevabı göster

    $_POST['email'] — Doğru. POST ile gönderilen alan $_POST içinde, anahtar tırnak içinde yazılır.

  2. ?? ile eksik anahtara varsayılan ver

    $name = $_POST[____] ?? "Misafir";
    Cevabı göster
    $name = $_POST['name'] ?? "Misafir";
  3. Form alanını $_POST anahtarına eşle

    name='email'
    $_POST['email']
    name='pass'
    $_POST['pass']
    name='age'
    $_POST['age']
    name='city'
    $_POST['city']

Başlangıç bölümündeki tüm dersler