Not: Aşağıda geçen şu yazımda bunu anlatmıştım dediklerimin linkleri en alttadır.
[*]index.php
[*]baglanti.php
[*]gonder.php
Php ile Mysql’ye Bağlanma yazımda zaten index.php ve baglanti.php oluşturmayı ve Mysql’ye bağlanmayı anlatmıştım. Bir diğer yazımda ise Mysql’ye veri kaydetmeyi anlatmıştım. Şimdi bu kodları kullanarak form ile veri kaydetmeyi anlatacağım.
İlk olarak index.php’mizin kodlarını vereyim. Tasarımda Twitter boostrap framework’ünü kullandım. Tabi sadece buton ve input alanları için.
PHP Form İşlemleri
Yukarıda gördüğünüz üzere bir form var ve görevi, doldurulan verileri gonder.php’ye post metodu ile iletmek. Bunun yanında bir yazımda anlattığım while döngüsü ile kısa yoldan 1950′den 2000′e yılları yazdırdım. Şimdi ise sıra baglanti.php’yi incelemede.
baglanti.php bize gonder.php’de mysql’ye bağlanmamıza yarayacak ve index.php’de kaydettiğimiz verilerimi görmemizi sağlayacaktır.
Aşağıdaki kodlar baglanti.php dosyamızın içeriğidir.
$link = mysql_connect("localhost", "root", "");
$db = mysql_select_db("phpdersi", $link);
if($db){
}
else {
echo "Veritabanına bağlantı sağlanamadı";
}
?>
Burada phpdersi veritabanımızdır. Eğer yoksa localhost kullandığınızı varsayaraktan http://localhost/phpmyadmin adresini kullanarak veritabanı yönetimine gelin phpdersi veritabanı oluşturun ve aşağıdaki kodlar ile tablo oluşturun. Eğer nasıl oluşturacağınızı bilmiyorsanız en altta verdiğim linklerden veri tabanına veri ekleme yazısını okuyun.
CREATE TABLE IF NOT EXISTS `kullanicilar` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`isim` text NOT NULL,
`soyisim` text NOT NULL,
`yas` text NOT NULL,
`eposta` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
baglanti.php’yi de oluşturduysak şimdi sıra gonder.php’nin oluşturulmasına geldi.
Aşağıdaki kodlar gonder.php dosyası içeriğidir.
include("baglanti.php");
$isim = $_POST['isim'];
$soyisim = $_POST['soyisim'];
$eposta = $_POST['eposta'];
$sayi1 = $_POST['yas'];
$today = getdate();
$yas = $today['year'] - $sayi1;
$kaydet = mysql_query("insert into kullanicilar (id, isim, soyisim, eposta, yas) values (Null, '$isim', '$soyisim', '$eposta', '$yas')");
if($kaydet){
header(sprintf("Location: " .$_SERVER['HTTP_REFERER']));
}
else{
echo "İşlem başarısız..";
}
?>
İlk olarak baglanti.php’yi gonder.php’ye çağırdık çünkü Mysql bağlantısı için gerekli. Daha sonra index.php’de ki form’dan gelen verileri değişkenlere atadık. Ancak fark ettiyseniz bir değişken de çıkarma işlemi yaptık. Bu değişken tabii ki doğum yılı ben ilk olarak $sayi1 değişkenine form’dan gelen doğum yılını atadım. Daha sonra ise $today = getdate(); ile zamanı aldım $today['year'] ile yılı yazdırdım yaşı bulmak için. Bunun için aşağıdaki işlemi yaptım.
$yas = $today['year'] - $sayi1;
gördüğünüz gibi $yas değişkenine şuan ki yıldan form’dan gelen doğum yılını çıkarttım. En sonda mysql_query ile verileri yazdırdım. Bu arada mysql_query‘yi $kaydet değişkenine atama sebebim if, else yani koşulları uygulamak istememdi. Eğer if else’yi bilmiyorsanız aşağıda verdiğim linkten okuyunuz.
İşte detaylı olarak php ile form işlemlerini anlattım umarım işinize yarar. Bunun yanında verileri nasıl ekrana yazdıracağınızı bilmiyorsanız. Aşağıdan Mysql'den veri çekme yazısını okuyun.
Kaynak: http://ahmettalut.com/php-form-ile-mysql-veri-kaydetme
Not: Yazı, kodlama tamamen benim tarafımdan hazırlanmıştır. Yukarıda yaş işlemi sade php'de çıkartma ve tarih fonksiyonunu göstermek içindir. Bunun yanında çok yakında en fazla yazıdan oluşacak olan mini blog scirpti yazılarımı paylaşacağım.
Yazıda Geçen Adresler;
PHP İle Veritabanına Bağlanma
PHP, Mysql'ye Veri Kaydetme
PHP, Mysql'den Veri Çekme
PHP, While Döngüsü
PHP Koşullar, İf, Elseif, Else