PHP PDO Veri Ekleme

PHP ile veritabanı tablosuna güvenli bir şekilde veri ekleme veya kayıt ekleme işlemleri ile ilgili bilgiler yer almaktadır.

PDO ile veri ekleme işlemi PHP PDO Kullanımı yazısında açıkladığım exec, query ve prepare metodu ile yapılabilir.

Veri ekleme işlemi genellikle dışarıdan alınan bilginin veritabanı kayıt edilmesi ile olmaktadır.

Veri ekleme ve kaydetme sırasında kullanıcının yanlış/hatalı veri girmesi istenmeyen durumların ortaya çıkmasına neden olur.

Formun hazırlanması

Verilerin düzgün olarak girilmesi için HTML5 input Tipleri ve HTML5 input Özellikleri yazımda belirttiğim yenilikleri kullanmak faydalı olacaktır.

<form action="" method="post">
    Adınız:<br />
    <input type="text" name="adi" required="required" /><br />
    Soyadınız:<br />
    <input type="text" name="soyadi" required="required" /><br />
    E-posta Adresiniz:<br />
    <input type="email" name="eposta" required="required" />
    <input type="submit" value="Kaydet" />
</form>

Veri ekleme işlemi için gerekli olan görselliği oluşturduktan sonra PHP ile gönderilen verilerin kontrol edilmesi ve filtrelenmesi faydalı olacaktır.

Filtre ve kontrollerin yapılması

PHP form kontrolü ve verilerin filtrelenmesi;<?php

if (isset($_POST['adi'], $_POST['soyadi'], $_POST['eposta'])) {

    $adi = trim(filter_input(INPUT_POST, 'adi', FILTER_SANITIZE_STRING));
    $soyadi = trim(filter_input(INPUT_POST, 'soyadi', FILTER_SANITIZE_STRING));
    $eposta = trim(filter_input(INPUT_POST, 'eposta', FILTER_SANITIZE_EMAIL));

    if (empty($adi) || empty($soyadi) || empty($eposta)) {
        die("<p>Lütfen formu eksiksiz doldurun!</p>");
    }

    if (!filter_var($eposta, FILTER_VALIDATE_EMAIL)) {
        die("<p>Lütfen geçerli bir e-posta adresin girin!</p>");
    }

    echo "PHP PDO veri ekleme işlemi";
}

?>

Gerekli kontrol ve filtrelemenin ardından PHP PDO Veritabanı Bağlantısı ve PHP PDO Kullanımı yazılarındaki bilgilerden faydalanarak veritabanı bağlantısı ve ön hazırlıklı sorgu (prepare) işlemini yapabiliriz.

Verilerin kaydedilmesi

PDO veri ekleme kodları;<?php
if (isset($_POST['adi'], $_POST['soyadi'], $_POST['eposta'])) {

    $adi = trim(filter_input(INPUT_POST, 'adi', FILTER_SANITIZE_STRING));
    $soyadi = trim(filter_input(INPUT_POST, 'soyadi', FILTER_SANITIZE_STRING));
    $eposta = trim(filter_input(INPUT_POST, 'eposta', FILTER_SANITIZE_EMAIL));

    if (empty($adi) || empty($soyadi) || empty($eposta)) {
        die("<p>Lütfen formu eksiksiz doldurun!</p>");
    }

    if (!filter_var($eposta, FILTER_VALIDATE_EMAIL)) {
        die("<p>Lütfen geçerli bir e-posta adresin girin!</p>");
    }

    try {

        $baglanti = new PDO("mysql:host=localhost;dbname=kisi", "root", "");
        $baglanti->exec("SET NAMES utf8");
        $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $sorgu = $baglanti->prepare("INSERT INTO kisiler(kisi_adi, kisi_soyadi, kisi_eposta) VALUES(?, ?, ?)");
        $sorgu->bindParam(1, $adi, PDO::PARAM_STR);
        $sorgu->bindParam(2, $soyadi, PDO::PARAM_STR);
        $sorgu->bindParam(3, $eposta, PDO::PARAM_STR);

        $sorgu->execute();

        echo "<p>Bilgiler başarılı bir şekilde kaydedildi.</p>";

    } catch (PDOException $e) {
        die($e->getMessage());
    }

    $baglanti = null;
}

?>

PDO ile veri ekleme ve kaydetme işlemi

  • formun hazırlanması (veriler kullanıcıdan alınacaksa),
  • gerekli kontrollerin ve filtrelemenin yapılması (veriler kullanıcıdan alınacaksa),
  • bağlantının yapılması ve sorgunun (insert into) hazırlanması

adımları ile yapılır.

PDO ile veri kaydetme işlemi için SQL insert into kullanımını öğrenmek faydalı olacaktır.

PHP PDO Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!