Form aracılığıyla veritabanına kayıt ekleme
PHP ile veritabanı uygulamalarında, genel olarak yapılacak işlemler. Veritabanına veri kaydetme, veri listeleme, veri düzenleme ve veri silme işlemleridir. Bu işlemlerden ilk olarak veritabanına veri kaydetme konusunu inceleyeceğiz. Sonraki yazılarımızda, sırasıyla veri listeleme, düzenleme ve silme işlemleriyle devam ederiz.
Öncelikle, bir forma inputlar aracılığıyla girilmiş olan bilgileri, post metoduyla diğer bir sayfaya aktarıp, aktardığımız sayfada veritabanı bağlantısı olduğu varsayılarak kayıt işlemi yapılacaktır.
Kayıt için gerekli olan örnek bir form oluşturalım:
<form action="kaydet.php" method="post"> <label>İsim :<input type="text" name="isim" id="isim" /></label> <label>Soyisim :<input type="text" name="soyisim" id="soyisim" /></label> <label> <input type="submit" name="button" id="button" value="Gönder" /></label> </form>
[ad code=1 align=center]
Üstte gördüğümüz gibi, kaydet.php sayfasına post edilen, isim ve soyisim olarak adlandırılmış iki tane input ve formu submit etmemizi sağlayan bir buton bulunmaktadır. Burda önemli olan nokta, inputların ‘name’ değerleridir.
Kayıt yapacağımız tablo yapımız;
CREATE TABLE `test`.`defter` ( `defter_id` INT( 5 ) NOT NULL AUTO_INCREMENT , `defter_isim` VARCHAR( 100 ) NOT NULL , `defter_soyisim` VARCHAR( 100 ) NOT NULL , PRIMARY KEY ( `defter_id` ) , UNIQUE ( `defter_id` ) ) ENGINE = MYISAM CHARACTER SET latin5 COLLATE latin5_turkish_ci;
Formumuz ve tablomuz hazır olduğuna göre, kaydet.php dosyasına geçiyoruz;
/*
Veritabanı bağlantı kodları burada oluyor.
Bağlantı için ayrıntılı bilgi : http://www.phpdili.com/mysql/php-ile-mysql-baglantisi-kurmak.html
*/
//Form post metoduyla gönderilen bilgileri alıp değişkenlere atayalım.
$ad = $_POST['isim'];
$soyad = $_POST['soyisim'];
//Veritabanında bulunan 'defter' isimli tablonun 'defter_isim' ve 'defter_soyisim' alanlarına kayıt edelim.
$kaydet = mysql_query("insert into defter (defter_id, defter_isim, defter_soyisim) values (NULL, '$ad', '$soyad')") or die("Hata: kayıt işlemi gerçekleşemedi.");
Tüm veritabanına kayıt işlemleri, genel olarak yukarda bahsedilen mantıkta gerçekleştirilmektedir. Yukarda oluşturulan değişkenleri farklı fonksiyonlardan geçirerek, güvenlik açısından doğabilecek sıkıntıları engelleyebiliriz.
Sıradaki Konu :
Veritabanına eklediğimiz kayıtları listeleme
Bu sayfa daha degısık anlatılabılır sıte genelleme olarak guzel ancak sıralamalar cok yanlıs db ye verı gonderme edıtleme sılme gıbı es deger konular bı yerde toplanabılır
anlatan arkadasın elıne koluna saglıkl
Bilgileriniz için çok teşekürler…
1 CREATE TABLE `test`.`defter` (
2 `defter_id` INT( 5 ) NOT NULL AUTO_INCREMENT ,
3 `defter_isim` VARCHAR( 100 ) NOT NULL ,
4 `defter_soyisim` VARCHAR( 100 ) NOT NULL ,
5 PRIMARY KEY ( `defter_id` ) ,
6 UNIQUE (
7 `defter_id`
8 )
9 ) ENGINE = MYISAM CHARACTER SET latin5 COLLATE latin5_turkish_ci;
şu kodları ne diye nereye kaydediyoruz ? bende appserv kurulu.. daha yeniyim ve ad soyad girildiğinde ekrana yazdırılmasını istiyorum yardımcıolurmusunuz ?
Bu kodlar formdan aldığımız verileri saklayacağımız veritabanını oluşturma kodlarıdır. Formdan gelen veriyi veritabanına kaydettirmeden sadece ekrana yazdırmak istiyorsanız; formdan aldığınız verileri değişkenlere atadıktan sonra echo komutu ile ekrana yazdırabilirsiniz.
teşekkür ederim bilgilerinizden yola çıkarak işimi hallettim.. benim için ilk adım oLdu
)
hocam ben if else post gibi bir çok sorguyu ezberledim.
fakat bu sayfadakiler de mi ezberlenmeli ? veya coderlar bunları ezbere mi biliyor uğraşsam ben de ezberlerim elbet ama biraz uzunmuş özellikle şu tablo oluşturma kodu ayrıca tabloyu notdefterine o kodları yazıp x.sql diye kaydedip import mu edeceğiz ?
ben biraz acemiyim bazı konuları anlamıyorum
ya resimli
ya vidyo görüntülü olsa daha iyi olur
php dilini yeni tanıyorum
yinede teşekkürler
local hosta kurunca sürekli hata alıyorum.
Parse error: syntax error, unexpected T_STRING in C:\host\www\kaydet.php on line 17
17. satır: $kaydet = mysql_query(“insert into defter (defter_id, defter_isim, defter_soyisim) values (NULL, ‘$ad’, ‘$soyad’)”) or die(“Hata: kayıt işlemi gerçekleşemedi.”);
bunun nedeni ne olabilir?
not: easyphp kullanıyorum.
Bu yazının listele sil düzenle olarak uamrım devamı gelir..
Devamı gelecektir elbette, ilginiz için teşekkürler.
[...] = 'compact'; Bu Yazıyı Paylaş : Daha önce form aracılığıyla veritabanına kayıt ekleme konusunda genel bir bilgi vermiştik. Şimdi ise veritabanına eklediğimiz kayıtları nasıl [...]
[...] tweetmeme_style = 'compact'; Bu Yazıyı Paylaş : Veri kayıt etme, veri listeleme konularından sonra veritabanında sakladığımız verileri düzenleme konusuna [...]