Selam arkadaşlar uzun bir süreden sonra yeni bir yazıyla karşınızdayım bugün sizlere php ile pdo kullanarak nasıl veri ekleyebiliriz onu göstereceğim sade ve anlaşılır olmasına dikkat edicem sorularınız olursa ya da fikrinizi belirtmek isterseniz bana mail veya yorum kısmından ulaşabilirsiniz.
Aklınızda soru işareti kalmaması açısından kullandığım uygulamalar xampp geliştirme ortamı olarak sublime text kullanıyorum.
Öncelikle veritabanını size tanıtmak istiyorum aşağıda resimde gördüğünüz üzere,
deneme isminde bir veritabanı oluşturdum ve içinde üye tablom var görmüş olduğunuz üzere sade bir veritabanı uyeid otomatik artan ve primay key (Birincil Anahtar) Veritabanında ekstra bir şey yapmadım basit ve anlaşılır olması açısından dediğim gibi geliştirilebilir ve daha donanımlı güvenilir bir hale getirilebilir bir uygulama.
Eğer veritabanı işlemlerimizi uyguladıysak şuan php sayfamızı öncelikle veritabanıyla ilişkilendirmek için baglan.php isminde bir sayfa oluşturalım.
sayfamızı yukarı gördüğümüz gibi oluşturduysak içerisine,
<?php try{ $db=new PDO("mysql:host=localhost;dbname=deneme;charset=utf8",'root',''); } catch(PDOExpception $e) { echo $e->getMessage(); } ?>
şeklinde kod bloğumuzu yazalım dbname=deneme bu kısımda “deneme” yazan yere kendi veritabanı adınızı yazıcaksınız.
Daha sonra bağlanma işlemimizi hallettiğimize göre bir index.php sayfasına ihtiyacımız olucak aşağıda gördüğünüz üzere,
index.php sayfamızı oluşturduk. bir form oluşturmamız gerekmekte gerekli kod blogunu yazalım.
<form action="islem.php" method="POST"> <pre> <input type="text" name="uyeadi" placeholder="adınızı giriniz"> <input type="text" name="uyesoyadi" placeholder="soyadınızı giriniz"> <input type="text" name="uyeyas" placeholder="yaşınızı giriniz "> <select name="uyecinsiyet"> <option>Cinsiyet</option> <option>Erkek</option> <option>Kadın</option> </select> <button type="submit" name="eklemeislemi">Gönder</button>
Görmüş olduğunuz gibi form ekranımızı oluşturduk burda action=”islem.php” form post edildiğinde islem.php sayfasına yönlendirilmesini istedik tabiki şuan öyle bir sayfamız yok ama oluşturucaz geri dönmemek için orayı o şekilde doldurdum. Bu arada form verilerinde kayıt & güncelleme gibi durumlarda form kısmının button name kısmında ne yazıyorsa ekleme ve güncelleme için o veriyi kullanıcaz burda button name kısmımıza eklemeislemi yazdım o şekilde işlem yaptırıcaz.
İndex sayfamızıda bu şekilde yaptıysak gelelim islem.php dosyamızı oluşturmaya
Görmüş olduğunuz gibi islem.php dosyamızı oluşturduk öncelikle islem.php dosyamızın içine baglantı sayfamızı dahil edeceğiz baglantı sayfası dahil etme kodumuz require_once ‘baglan.php’; şeklinde veritabanı işlemi yaptıracağımız her sayfanın başına bu kodu dahil edeceğiz.
Şimdi kod blogumuzun tamamını görelim :
<?php require_once 'baglan.php'; //********** KAYIT EKLEME ******************** if(isset($_POST['eklemeislemi'])) { $kaydet=$db->prepare("INSERT into uye set uyeadi=:uyeadi, uyesoyadi=:uyesoyadi, uyeyas=:uyeyas, uyecinsiyet=:uyecinsiyet "); $ekle=$kaydet->execute([ 'uyeadi' => $_POST['uyeadi'], 'uyesoyadi' => $_POST['uyesoyadi'], 'uyeyas' => $_POST['uyeyas'], 'uyecinsiyet' => $_POST['uyecinsiyet'] ]); //------------- KAYIT EKLEME BİTTİ ---------------------- ?>
Kolay olması ve karışmaması açısından veritabanında isimleri ne yaptıysam formdaki input ve select kısımlarının name değerlerini aynı yazdım.
Yukarıdaki kodu anlatıcak olursak baglantı cümlemizi dahil ettik ve bir if blogu oluşturduk formdan veri post edilirse işlem yapsın diye isset fonksiyonunu kullandık ve form ekranımızda button name olarak ne verdiysek isset() fonksiyonunda post edilip edilmediğini kontrol etmek için o değeri kullandık.
if blogunun içinde $kaydet isimli bir değişken oluşturduk baglantı cümlemizi yazarken $db değişkenimizi kullandığımızdan dolayı burda da veritabanı ile işlem yaptığımız için $db değişkenimizi kullanıp prepare fonksiyonu ile veritabanı kayıt cümlemizi yazdık
uyeadi=:uyeadi, uyesoyadi=:uyesoyadi, uyeyas=:uyeyas, uyecinsiyet=:uyecinsiyet
bu kısımda solda yazanlar bizim veritabanında kullandığımız isimler sağ kısımda yazanlar bizim şuan oluşturduğumuz isimler ben karışmaması açısından öyle yazdım isterseinz uyeadi=:ad olarakta yapılabilirdi bir sorun çıkmazdı
'uyeadi' => $_POST['uyeadi'], 'uyesoyadi' => $_POST['uyesoyadi'], 'uyeyas' => $_POST['uyeyas'], 'uyecinsiyet' => $_POST['uyecinsiyet']
Bu kısımda yukarıda anlatmış olduğum benim karışmasın diye veritabanındaki isimlerle aynı yazdığım yani sağ taraflarda =:uyeadi bu kısımda isim olarak ne yazdıysak yukarıdaki görselde isim olarak onları yazıyoruz eğer uyeadi=:ad yazdıysak ‘ad’ => $_POST[‘uyeadi’], olarak yazmamız gerekiyor en kritik nokta bence burası umarım anlatabilmişimdir. $_POST[‘BURASI’] post kısmında burası yazdığım yer form oluştururken name değeri olarak neleri yazdıysak o olucak ve her şeyi anlattığım şekilde uygularsanız kayıt ekleme işleminiz başarıyla gerçekleşecektir. Bir sorun olursa hata veya aklınıza takılan bir şey bana mail veya yorum olarak yazıp ulaşabilirsiniz yardımcı olmaya çalışırım ilerleyen günlerde güncelleme listeleme ve silme işlemini de anlatacağım. Sağlıklı günlerde kalın görüşmek üzere. 🙂