🇹🇷
Merhaba!
SQL Düzenleyicisi
  • 🥳Merhaba!
  • 🔃API
    • API'ler
      • Alan Adı Sorgulama WHOIS API
      • İp Adresi Sorgulama API
      • Rastgele Kedi Resmi Gösteren API
      • Lokasyon
        • Ülkeler API
        • Şehirler API
      • T.C. Kimlik Doğrulama API
  • Hosting Solution
    • Cyberpanel
      • 500 Internal Server Hatası (Cyberpanel)
  • 🐻‍❄️LARAVEL
    • Laravel Projesi Oluşturma
    • Anasayfa Düzenleme ve Sayfa Ekleme
  • 🔳ERP TARAFI
    • ERP Nedir ?
    • ERP İş Süreçleri
    • Birimler
      • Üretim
      • Satış
      • Muhasebe
      • Stok Yönetimi
      • Mali Yönetimi
      • Müşteri Hizmetleri (Destek)
      • İnsan Kaynakları (Personel)
      • Proje Yönetimi
    • Kullanılan Terimler
      • Amortisman
  • 💻SQL Tarafı
    • Çalışmalar ve Notlar
      • Tablo Boyutlarını Öğrenme
      • Veritabanı Arası Sorgulama
      • Tabloların Satır Sayısını Bulma
      • Tablodaki Triggerları Açma&Kapatma
      • Tablo Bağlantısı (Tablo Bağlama)
      • Tabloların Satır Sayısını Bulma
    • Konular
      • Sorgulamalar
        • SELECT
        • FROM
        • WHERE
        • LIKE
        • JOINLER
          • INNER JOIN
          • FULL OUTER JOIN
          • RIGHT JOIN
          • LEFT JOIN
        • GROUP BY
        • HAVING
        • ORDER BY
        • LIMIT
        • COUNT
        • SUM
        • AVG
        • MIN
        • MAX
        • CASE
        • DISTINCT
        • SUBQUERY
        • SUBSTRING
        • TRUNCATE
      • String Fonksiyonlar
        • LEN
        • STRING_SPLIT
        • CHARINDEX
        • SUBSTRING
        • REPLACE
        • LOWER/UPPER
        • TRIM
        • LEFT/RIGHT
        • ASCII/CHAR
        • CONCAT
      • Zaman Fonksiyonları
        • DAY, MONTH, YEAR
        • DATEFROMPARTS
        • ISDATE
        • DATEADD
        • DATENAME
        • DATEPART
        • DATETIME
        • DATEDIFF
      • Matematiksel Fonksiyonlar
        • ROUND
        • FLOOR
        • DEGRESS
        • ACOS
        • ASIN
        • ATAN
        • ATN2
        • RAND
        • RAD
        • ABS/SIGN
        • FLOOR/CEILING
      • Döngüler
        • FOR
        • WHILE
      • Prosedür
        • Prosedür Nasıl Yazılır
      • Trigger
        • Triger Nasıl Yazılır
      • Index
        • Index Nasıl Yazılır
      • Cursor
        • Cursor Nasıl Yazılır
      • Fonksiyon Konuları
        • User Defined Functions
        • Aggregate Functions
      • Veritipleri ve Boyutları
      • İlişkisel Veritabanı
    • Dosyalar & Kaynaklar
      • SQL Veri Tipleri
      • T-SQL Join Tipleri
      • SQL Cheat Sheet
    • SQL Hataları ve Çözümleri
      • String or binary data would be truncated
      • Subquery returned more than 1 value.
      • Conversion failed when converting from a character string to uniqueidentifier
      • The multi-part identifier could not be bound
      • Arithmetic overflow error converting numeric to data type numeric
  • 💯ANADIL
    • Anadil Nedir ?
    • Çalışmalar ve Notlar
      • Cff
        • Cff İle Adını Alıp Kodunu Yazdırma
      • Şube Kodu İşaretlendiğinde ComboBox'ın Kapatılması.
      • Parametre İşaretlendiğinde TabSheet'te ki Grid'in kapatılması.
      • İf
        • İf İle Boş Kontrol
        • İf İle Uzunluk Kontrolü
      • Grid
        • Grid PushButton Kullanımı
        • Grid Oluşturma
      • Formdaki Gride Koşul Ekleme(FTC)
      • Yetki Servisi Çağırma
      • ComboList Doldurma
    • Kütüphane
      • RS32
        • Fonksiyonlar
          • BuildInsertStm
          • BuildDeleteStm
          • BuildSelectStm
          • BuildUpdateStm
          • PrepareStmDirect
          • ExecuteStmDirect
        • Metotlar
          • AddOrderBy
          • AddGroupBy
          • AppendToStm
      • CFF
        • Fonksiyonlar
        • Metotlar
      • Kontrol Nesneleri
        • ListBox ve ComboBox
          • AddToList
          • SelectTextInList
      • Diğer
        • IsNull
  • 🔬.NET TARAFI
    • .NET Nedir ?
    • Konular
      • Değişkenler
        • Boolean (Bool)
        • Byte
        • Char
        • Integer (INT)
        • Long
        • Single
        • Double
        • Decimal
        • String
        • Object
  • 😎PHP TARAFI
    • PHP Nedir ?
    • Konular
      • Temel Söz Dizimi
        • Değişkenler
        • Operatörler
        • Koşullar
        • Fonksiyonlar
        • Döngüler
        • Diziler
        • String İşlemleri
      • Form İşlemleri
        • Form Verilerini Alma
        • Form Verilerini Kontrol Etme
        • Form Verilerini İşleme
        • Form Alanlarına Ön Tanımlı Değerler Atama
        • Form Güvenliği
      • Veritabanı İşlemleri
        • Veritabanına Bağlanma
        • Veri Ekleme
        • Veri Sorgulama
        • Veri Güncelleme
        • Veri Silme
        • Veri Okuma
        • Transaksiyonlar
        • Veritabanı Bağlantılarını Yönetme
      • Sınıflar ve Nesneler
        • OOP İlkeleri
        • Autoloading
        • Ad alanları (Namespaces)
        • Statik Yöntemler ve Özellikler (Static Methods and Properties)
        • Soyut Sınıflar ve Yöntemler (Abstract Classes and Methods)
        • Arayüzler (Interfaces)
        • Miras (Inheritance)
        • Sınıflar ve Nesnelerin Temelleri
        • Kurucu Yöntemler
      • Güvenlik
        • SQL Enjeksiyonu
        • XSS (Cross-Site Scripting)
        • DoS (Denial of Service) Saldırıları
        • CSRF (Cross-Site Request Forgery)
        • Güvenli Parola Depolama
        • Dosya Yükleme
      • Dosya İşlemleri
      • API Entegrasyonları
        • API Nedir ?
        • RESTful API Nedir?
        • API İstekleri
        • API Yanıtları
        • API Entegrasyon Örnekleri
        • API Anahtarları
      • Framework
        • MVC Tasarım Deseni
        • Yönlendirme
        • Şablonlar
        • Veritabanı Erişimi
        • Güvenlik
        • API Entegrasyonları
        • Oturum Yönetimi
        • Test
        • Performans
        • Paket Yönetimi
  • 🎛️FRAMEWORK TARAFI
    • Framework Nedir?
    • Konular
      • Framework Türleri
      • Framework Avantajları ve Dezavantajları
      • Framework Kullanımı ve Örnekleri
      • Framework vs Kütüphane
      • Framework vs Platform
      • Framework vs API
      • Framework ve Tasarım Kalıpları
      • Framework ve MVC Mimari
      • Framework ve ORM
      • Framework ve Web Geliştirme
      • Framework ve Mobil Geliştirme
      • Framework ve Oyun Geliştirme
      • Framework ve Veri Bilimi
      • Framework ve Yapay Zeka
      • Framework Geliştirme Süreci
      • Framework Test Etme ve Hata Ayıklama
Powered by GitBook
On this page

Was this helpful?

  1. PHP TARAFI
  2. Konular
  3. Form İşlemleri

Form Verilerini Alma

PHP'de form verilerini almak için, HTML form elementlerindeki input, select veya textarea gibi alanların name özelliği kullanılarak gönderilen veriler $_POST veya $_GET dizileri aracılığıyla PHP koduna aktarılır.

Örneğin, aşağıdaki HTML formu kullanarak bir kullanıcının adını ve e-posta adresini alabiliriz:

<form method="post" action="submit-form.php">
  <label for="name">Name:</label>
  <input type="text" id="name" name="name">

  <label for="email">Email:</label>
  <input type="email" id="email" name="email">

  <input type="submit" value="Submit">
</form>

Bu form, kullanıcının adını ve e-posta adresini girerek "submit-form.php" adlı bir PHP dosyasına gönderir.

submit-form.php dosyasında, formdan gelen verileri almak için $_POST dizisini kullanabiliriz. Örneğin:

$name = $_POST['name'];
$email = $_POST['email'];

echo "Welcome, " . $name . ". Your email address is " . $email;

Bu örnekte, $_POST dizisi, formdan gelen verileri alır ve bunları $name ve $email değişkenlerine aktarır. Sonra, echo ifadesiyle bu değişkenleri kullanarak bir mesaj gösterilir.

Form verilerini $_POST yerine $_GET dizisi aracılığıyla da alabilirsiniz. Bunun için HTML formunun method özelliğini get olarak ayarlamanız ve PHP kodunda $_GET dizisini kullanmanız gerekir.

Form verilerini alırken, isset() işlevi kullanarak, gelen verilerin boş olup olmadığını kontrol etmek önemlidir. Örneğin, aşağıdaki kod, formdan gelen name verisinin boş olup olmadığını kontrol eder:

if (isset($_POST['name']) && !empty($_POST['name'])) {
  // `name` verisi formdan gelen ve boş değil
}
else {
  // `name` verisi formdan gelmedi veya boş
}

Form verilerini alırken, $_POST veya $_GET dizilerinin doğru şekilde kullanıldığından emin olmak da önemlidir. Bu dizilerin içindeki veriler, kötü amaçlı kullanıcılardan gelebilecek saldırılara karşı korunmalıdır. Bu nedenle, form verilerini doğru biçimde doğrulamanız, filtrelemeniz ve işlemeniz gerekebilir.

Form verilerini alma işlemi sırasında, formdan gelen verilerin doğruluğunu kontrol etmek önemlidir. Bu nedenle, form verilerini işlemeden önce filter_input() ve filter_var() gibi işlevleri kullanarak gelen verileri doğrulayabilirsiniz.

Örneğin, aşağıdaki kod, formdan gelen e-posta adresinin geçerli bir e-posta adresi olduğunu kontrol eder:

$email = $_POST['email'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
  // `email` verisi geçerli bir e-posta adresi
}
else {
  // `email` verisi geçersiz bir e-posta adresi
}

Form verilerini alma işlemini gerçekleştirdikten sonra, bu verileri veritabanına kaydetmek veya başka bir işlem yapmak isteyebilirsiniz. Bu durumda, PDO veya mysqli gibi bir veritabanı bağlantısı oluşturmanız ve form verilerini güvenli bir şekilde işlemeniz gerekebilir.

Örneğin, aşağıdaki kod, formdan gelen verileri bir MySQL veritabanına kaydeder:

// Veritabanı bağlantısını oluştur
$servername = "localhost";
$username = "kullanici_adi";
$password = "sifre";
$dbname = "veritabani_adi";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// Form verilerini al
$name = $_POST['name'];
$email = $_POST['email'];

// Veritabanına kaydet
$sql = "INSERT INTO kullanicilar (isim, email) VALUES ('$name', '$email')";
if ($conn->query($sql) === TRUE) {
  echo "Kayıt başarılı";
} else {
  echo "Hata: " . $sql . "<br>" . $conn->error;
}

$conn->close();

Bu örnekte, mysqli sınıfını kullanarak MySQL veritabanı bağlantısı oluşturulur. Sonra, formdan gelen veriler $_POST dizisi aracılığıyla alınır ve INSERT INTO SQL ifadesiyle veritabanına kaydedilir.

Form verilerini alma işlemi, PHP'de web geliştirme için temel bir adımdır. Form verilerini doğru bir şekilde almak ve işlemek, web uygulamanızın kullanılabilirliği ve güvenliği için önemlidir.

$_GET yöntemi de form verileri almada kullanılan bir yöntemdir. $_GET yöntemi, bir HTML formundan veri göndermek için kullanılan HTTP GET isteği ile form verilerini URL üzerinden gönderir. Bu nedenle, veriler URL'de görünebilir.

Aşağıda, $_GET yöntemi ile form verilerini alma örneği verilmiştir:

Örnek HTML formu:

<form action="get_form.php" method="get">
  Name: <input type="text" name="name"><br>
  Email: <input type="text" name="email"><br>
  <input type="submit" value="Submit">
</form>

Yukarıdaki formda, form verileri get_form.php sayfasına gönderilir ve $_GET yöntemi kullanılarak alınır.

Örnek PHP kodu (get_form.php):

if (isset($_GET['name']) && isset($_GET['email'])) {
  $name = $_GET['name'];
  $email = $_GET['email'];
  echo "Name: " . $name . "<br>";
  echo "Email: " . $email;
}

Yukarıdaki kodda, isset() işlevi kullanılarak $_GET dizisindeki name ve email anahtarlarının varlığı kontrol edilir. Eğer bu anahtarlar varsa, formdan gelen veriler alınır ve ekrana yazdırılır.

Ancak, $_GET yöntemi ile form verilerini alırken, form verileri URL'de görünebilir, bu da güvenlik açıklarına neden olabilir. Bu nedenle, hassas verilerin alınması gerektiğinde $_POST yöntemi tercih edilir.

Last updated 2 years ago

Was this helpful?

😎