|
|
| |
Formdan gelen veriyi veritabanına yazdırmak |
|
|
Bu işlem için bize iki ayrı sayfa gerekli. Bunlardan formun bulunduğu sayfaya form.html , bu bilgileri database'e yazacak olana ise yaz.asp diyelim. İki girişimiz olsun. Kullanıcının ismi ve email adresi. form.html dosyamız şöyle olmalı
<html> <head><title>Bilgileri giriniz</title></head> <body> <form method="post" action="yaz.asp"> İsminiz : <input type="text" name="isim"><br> E-mailiniz : <input type="text" name="email"><br> <input type="submit" value="Kaydet"> </form> </body> </html> |
Şimdi bu sayfada neler oluyor ona bakalım... Belki alışkın olmadığımız bir form tag'i var. Bu <form> ve </form> arasında kalan tüm input alanları bizim diğer sayfamıza değer olarak aktarabilceğimiz şeylerdir. Yani form bir tür gruplayıcı elemandır diyebiliriz. Bu formun özelliklerine baktığımızda method="post" ve action="yaz.asp" görüyoruz. Method, bu form içindeki bilgileri diğer sayfaya nasıl göndereceğini belirtir. Biz burada post seçmişiz. Bir diğer alternatif te get metodudur ama bunları ayrıntılı olarak başka bir yazıda açıklarız. Action ise tahmin edebileceğiniz gibi bu bilgilerin gönderileceği sayfanın adıdır. Formun içinde ise iki tane text alanı var; isim ve email. Bu isimler bizim yaz.asp dosyamızda bu değikenleri alacağımız isimler olduğu için önemli. Bir de submit butonumuz var tabi. Submit butonları basıldıkları anda içinde bulundukları formun içindeki tüm bilgileri action'da belirtilen sayfaya gönderirler. Bu yüzden her formda bir (ve yalnız bir) submit butonu olması şarttır. Şimdi gelelim yaz.asp dosyamıza. Öncelikle şunu belirteyim ki herkesin daha çok işine yaraması amacıyla spesifik bir database (Access veya SQL) yerine ODBC bağlantısı yapılmış herhangi bir database kullanıyorum. Biliyoruz ki ODBC bağlantısı kurulduktan sonra database'in ne olduğu bizi hiç ilgilendirmez. Database'in ODBC tanımının da ornek adıyla yapıldığını varsayalım. Bağlantımızda da ADODB (ActiveX Data Objects) bağlantısı kullanacağız. Database'de yazmak istediğimiz table adı kullanicilar , yazacağımız alan adları da isim alani ve email alani olsun. yaz.asp :
<html> <head><title>Bilgiler kaydediliyor</title></head> <body> <% Option Explicit %> <% Dim isim,email,conn,SQLstmt,rs isim=request.form("isim") email=request.form("email") ' Değişken değerlerini aldık set conn=Server.CreateObject("ADODB.Connection") 'Bağlantı objesi yaratıldı conn.open "ornek" 'ODBC'de ornek ismiyle belirtilen database bağlantısı kuruldu SQLstmt="INSERT INTO tablo (alan1,alan2) VALUES ("'&isim&"',"'&email&"')" ' bilgileri database'e yazmak için gerekli SQL cümleciğini hazırladık set rs = conn.execute(SQLstmt) ' hazırladığımız cümleciği daha önce açtığımız database bağlantısı ile execute ederek çalıştırdık conn.close 'bağlantıyı kapattık ki database'i meşgul etmesin set conn = nothing 'objeyi server hafızasını meşgul etmemesi için çöpe atıyoruz. %> Kaydınız yapılmıştır. </body> </html> |
Okunma : 118 |
|