$_POST ile veri alma
$_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
-
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.
-
?? ile eksik anahtara varsayılan ver
$name = $_POST[____] ?? "Misafir";Cevabı göster
$name = $_POST['name'] ?? "Misafir"; -
Form alanını $_POST anahtarına eşle
- name='email'
- $_POST['email']
- name='pass'
- $_POST['pass']
- name='age'
- $_POST['age']
- name='city'
- $_POST['city']