Asp Ögrenci Kayit Projesi

NOT: Öncelikle belirtmek isterimki bu proje benim üniversitede yaptigim bir projedir. Ders için hazirladigim için tasarimi ve kodlarida ingilizcedir. Ama anlatimini burda Türkçeye çeviriyorum. Inglizcesini isteyenler için onuda ekliyorum.

Projenin Inglizce Anlatimi (Çok dikkat ederek yazmadigim için yazim ve dilbilgisi hatalarim olabilir)

Projenin Orjinal Dosyalari

.

not: *** seklinde alti yesille yazdiklarim yorumdur
 
Ögrenci Kayit Projesi
 
DEFAULT.ASP Sayfasi Görünümü:
  Ana Sayfa
            Bu Sayfada Kayit için gerekli olan Adi,Soyadi,Numarasi ve Departmani Textbox’lari ve Ekle(ADD),Sifirla(RESET) Butonlarini görüyorsunuz. Ayrica Kayitli Ögrencilerin de bir listesi ve bu ögrencilere ait  Sil(Delete) ve Güncelle(Update) islemleri için gerekli linklerimizide ilgili kayitlarin yanlarinda görüyorsunuz. Bunun için adini "database.mdb" olarak verdigimiz Access Veri tabanimizda: Yine Adini "Students" verdigimiz tabloda 5 alan gerekli bunlar sirasiyla "ID","Name","Surname","Number","Department" dir.
 
            Bu islemleri düzenli olarak yaptirabilmek için 4 sayfaya daha ihtiyaç duyacagiz. Bunlardan birisi veritabanina baglanmak için kullanacagimiz ayarlarin oldugu "connection.asp" sayfasi. Bir digeri, kayit eklemek için gerekli ayarlarin oldugu "add.asp" sayfasi. Bir Digeri ise Silme islemleri için gerekli ayarlarin oldugu "delete.asp" sayfasi. Ve sonuncu ise güncelleme islemleri için gerekli ayarlarin oldugu "update.asp" sayfasidir. Bu sayfalar sadece kodlardan ibaredir. Islem Yapmak istedigimiz zaman bu sayfalari çagiracagiz.
 
CONNECTION.ASP Sayfasi Kodlari: 
 

<%
dim conn,path *** conn ile baglanti tanimliyoruz path ilede veritabani yolunu tanimliyoruz
path=server.mappath("database.mdb") *** tanimladigimiz path kelimesine server.mappath ile ana dizinimizde bulunan veritabanimizi iseret ediyoruz
set conn=server.CreateObject("adodb.connection")*** conn kelimesini veritabi baglanti objesi haline getiriyoruz
conn.open "Provider=Microsoft.JET.Oledb.4.0;Data Source=" &path *** open komutu ile baglantiyi aciyoruz ve microsoftun baglanti için gerekli kodunu ve path ile tanimladigimiz veritabanin bulundugu konumu isaret ederek baglanma islemini bitiriyoruz.
%>

 
 
DEFAULT.ASP Sayfasinin Kodlari:
 

<!–#include file="connection.asp" –> ***Bu sekilde veritabanina baglanmak için gerekli connection sayfasini çagirarak ordaki kodlarin burda varmis gibi çalismasini saglayip veritabanina baglantisi sagliyoruz 
<html>
<head>
<title>MAIN PAGE</title>
<style type="text/css">
<!–
.style1 {
     color: #FFFFFF;
     font-weight: bold;
}
–>
</style>
</head>
<body>
<center>
<%
     set students= server.createObject("adodb.recordset") *** veri tabanindan bilgileri alabilmek için "students" adinda bir kayit kümesi olusturuyoruz.
     sql = "select * from students" *** ögrencileri cagirmak için "sql" sorgu cümlecigimizi yaziyoruz.
     students.open sql,conn,1,3 *** olusturdugumuz kümeye veritabanina "conn" ile baglanti yapip "sql" sorgu cümlecigiyle ögrencileri veritabanindan çekiyoruz
     if students.eof and students.bof then
     response.write("No students registered")
     end if ***  burda yazdigimiz döngü de veritabanindan ögrencileri kümemize doldurma yaptigmizda eger hiçbir kayit gelmediyse "no students registered" yani "kayitli ögrenci yoktur" yazdiriyoruz
%>
<form action="add.asp" method="post" style="background-color:#00CCFF ">***form acarak add butonunun nereye yönlenecegini gösteriyoruz yani "add.asp" sayfasi.  burda post metodu kullanarak adi soyadi numarasi ve bölümü nü post ediyoruz yani add.asp sayfasina gönderiyoruz.
<table border="0">
<tr><td width="130" align="right">NAME:</td><td><input name="name" type="text" size="30"></td></tr>
<tr><td width="130" align="right">SURNAME:</td><td><input name="surname" type="text" size="30"></td></tr>
<tr><td width="130" align="right">NUMBER:</td><td><input name="number" type="text" size="30"></td></tr>
<tr><td width="130" align="right">DEPARTMENT:</td><td><select name="department" ><option>—Select a Department—</option><option>CIS</option><option>CE</option></select></td></tr><br>
<tr><td width="130" align="right"></td><td><hr></td></tr><tr><td width="130" align="right"><td><input type="submit" value="ADD NEW" size="50">
 <td><input name="submit" type="reset" value="Reset" size="60"></td></td></tr>
 
</table>
</form> ***  burada yukarda actigimiz form u kapatarak bu iki kisim arasinda kalan yani ad soyad numara ve bölüm bilgilerini kapsamis oluyoruz yani bu formun gönderecegi bilgileri.
<hr>
 
<form method="post"><input type="submit" value="Refresh the List">
<p></p>
<table border="3" bordercolor="#00CCFF"> *** birazdan listeleme yapacagimiz ögrenciler için bir tablo olusturuyoruz
         <tr bgcolor="#999999"><td><b>ID:</b></td>
         <td width="80"><b>Name:</b></td>
         <td><b>Surname:</b></td>
         <td><b>Number:</b></td>
         <td><b>Department:</b></td>
         <td bgcolor="#FF0000"><span class="style1">Delete:</span></td>
         <td bgcolor="#00FF00"><b>Update:</b></td>
     </tr>
       
         <% do while not students.eof%> ***  yukarda "students" kümesine çekmis oldugumuz ögrencilerin bilgilerini burda birer birer listeliyoruz yani "do while not students.eof" derken kümedeki son ögrecniye gelene kadar asagidaki islemleri yap: bunlar… 
         <tr>
         <td><%=students("ID")%></td> *** ögrencinin ID sini yaz
         <td><%=students("Name")%></td>   *** ögrencinin adini yaz
         <td><%=students("Surname")%></td>*** ogrencinin soyadini yaz
         <td><%=students("Number")%></td>*** ogrencinin numarasini yaz
         <td><%=students("Department")%></td>*** ögrencinin bölümünü yaz
         <td><a href="delete.asp?ID=<%=students("ID")%>">Delete</a></td> *** bu ögrenci için silme linki olustur. ve burda delete.asp den sonra soru isareti ile ID sini ekliyoruzki hangi ögrenciyi silmemiz gerektigini delete.asp sayfasina gönderebilelim.
         <td><a href="update.asp?ID=<%=students("ID")%>">Update</a></td> ***  yine ayni sekilde delete de yaptigimiz gibi burdada soru isareti ile ID iseretleyip güncelleme sayfasina gönderiyoruz.
         </tr>
 
<%
     students.moveNext
     loop
     students.close
     set students = nothing
%> *** burda yaptigimiz islem bir sonraki ögrenciye geçmeyi ve son ögrenciye gelene kadar yukarda yaptigimiz islermleri herbir ögrenci için yapmasini sagliyoruz. Yani ID, ad, soyad, numara, bölüm, silme ve güncelleme gibi. 
 
 </table></form>
    <hr>
</center>
</body>
</html>

 .
 
Bu sayade yukardaki kodlarla ana formumuzuda yani ana sayfamizida tamamlamis olduk. Bir ögrenci ekleme denemesi yapalim.
Ögrenci Bilgilerini Giriyoruz
            Yukardaki resimde gördügünüz gibi Ögrencinin adini soyadini numarasini ve bölümünü yazip ADD butonuna bastigimiz anda su ekranla karsilasacagiz. 
 
ADD.ASP Sayfasi Görünümü
  Add Sayfasi
"Accoun is added" yani kaydimiz eklendi simdi "main page" yani ana sayfa linkine tiklayarak adini "noname" soyadini "nosurname" numarasini "00000" verdigimiz kayit ana sayfada görünüyormu bi bakalim .
 
Listeye Bakis
 
Gördügünüz gibi kayit listeye eklendi. ID si 21 olan yani son kayit. Simdi Add.Asp sayfasinin kod kisminda bu islemleri yapmak için neler oluyor ona bakalim.
 
ADD.ASP Sayfasi Kodlari
 

<!–#include file="connection.asp"–>  *** yine gördügünüz gibi veritabanina baglandik
<center>
<%
set add=Server.CreateObject("adodb.recordset") *** ekleme islemi için bi küme olusturduk
sql="select * from students" *** ögrencileri cekmek için sorgu cümlecigi olusturduk
add.open sql,conn,1,3 *** ve ögrencileri cekerek "add" adini verdigimiz kümeye doldurduk
add.addnew *** simdi addnew komutu ile varolan ögrencilere yenibir ögrenci ekletiyoruz
add("Name")=request.Form("name") *** formdan gönderdigimiz bilgiler arasindan name i aliyoruz ve eklioyurz
add("Surname")=request.form("surname") *** ayni sekilde soyadi
add("Number")=request.form("number")*** numarayi
add("Department")=request.form("department")*** bölümü
add.update ***  suan kümemizde yeni bir ögrenci var ama bunu veritabanina kaydetmemiz gerekior bunun için update komutu kullanarak veritabanina kayit islemini tamamliyoruz
add.close
set add=nothing
response.Write("Account is added") ***  ve ekrana "kayit eklendi uyarisi verdiriyiruz"
%>
 
<hr>
<a href="default.asp">Main Page</a></center> *** uyarinin altinada ana sayfaya dönme linki atiyoruz

 
 
UPDATE.ASP Sayfasi Görünümü:
 
            Simdi farzedinki 21 ID numarali ögrenciyi kaydederken bi hata yaptik ve bunu güncellemek istiyoruz. Yapmamiz gereken ilgili ögrencinin yaninda bulunan "Update" yani güncelle linkine basmak olacaktir. Bu link bizi Güncelleme sayfasina yönlendirecektir. Asagidaki resimde gördügünüz gibi:
Simdi gerekli düzeltmeleri yapip update butonuna basalim. Ve asagidaki resimdeki uyariyi görelim.

Update Sayfasi
 
Sizinde Gördügünüz üzere "noname" adli ögrenci "New Name" olarak degistirildi ve en üste günceleme tamamlandi uyarisi alindi. Simdi bu islemler için gerekli kod kismina bakalim.
 
UPDATE.ASP Sayfasi Kodlari:
 

 
<!–#include file="connection.asp" –> *** veritabanina baglanti yapiyoruz
<html>
<head>
<title>UPDATE PAGE</title>
<body><center>
<%
dim ID
ID=request.QueryString("ID")
set students = server.CreateObject("adodb.recordset") *** Students adinda bir küme olusturuyoruz
sql="select * from students where ID="&ID *** ve ilgili ID li ögrenciyi alacak sql cümlecigi olusturuyoruz
students.open sql,conn,1,3 *** ve ögrenciyi bu kümeye aliyoruz
 
if request.ServerVariables("REQUEST_METHOD")= "POST" then
 *** bu kisim formdaki update butonuna bastigimiz anda çalisacak kisimdir
     students("Name")=request.Form("name") *** formdan, degistirmek üzere yazilan adi alir
     students("Surname")=request.form("surname")***  soyadi alir
     students("Number")=request.form("number")*** numarayi alir
     students("Department")=request.form("department")*** bölümü alir
     students.update*** ve eskisiyle degistirir yani günceller
     response.Write("Update is completed")***  ve uyarimizi verir
end if
%>
</center>
<center>
 <form action="" method="post" style="background-color:#00CCFF"> *** bu daha öncede bahsettigim gibi formumuzdaki bilgileri post etme yani gönderme amacli olusturdugumuz formdur
    <table border="0">
     <tr>
      <td rowspan="7" width="20" align="right"><font size="7"><b><u>ID:</u></b></font></td>
      <td rowspan="7" width="100"><font size="7" color="#FF0000"><%=students("ID")%></font></td></tr>
<tr><td width="130" align="right">NAME:</td><td><input name="name" type="text" value="<%=students("Name")%>" size="30"></td></tr>
<tr><td width="130" align="right">SURNAME:</td><td><input name="surname" type="text" value="<%=students("Surname")%>" size="30"></td></tr>
<tr><td width="130" align="right">NUMBER:</td><td><input name="number" type="text" value="<%=students("Number")%>" size="30"></td></tr>
<tr><td width="130" align="right">DEPARTMENT:</td><td><select name="department" ><option><%=students("Department")%></option><option>CIS</option><option>CE</option></select></td></tr><br>
<tr><td width="130" align="right"></td><td><hr></td></tr><tr><td width="130" align="right"><td><input type="submit" value="UPDATE" size="50"></td></tr>
 
</table>
 
</form>*** burdada formu kapatip dikkat ederseniz bu arada kalan bilgileri gönderdigimizi teyit ediyoruz. yani içerdeki bilgilere baktiginizda ögrencinin adi, soyadi, numarasi, bölümü gibi bilgilerini görebilirsiniz yani formdan bunlar alinacak
 
<hr>
<a href="default.asp">Main Page</a></center> *** ana sayfaya dönüs linkimizide koyduk
</body>
</head>
</html>

 
Ve ana sayfamiza bir bakalim.
 
Güncellenmis Liste
 
Gördügünüz gibi liste sonunda 21 ID numarali ögrenci artik New Name ismiyle listeleniyor. Simdi Silme islemine bir bakalim.
             
DELETE.ASP Sayfasi Görünümü:
 
            Ve son olarak listeden seçecegimiz bir kayidi silme islemi yapacagiz gelin bu silecegimiz kayit yine 21 ID nolu ögrenci olsun. New Name Adli ögrencinin Delete linkine bastigimizda karsimiza asagidaki ekran gelecektir.
 
Silme Sayfasi
 .
21 numarali kayit silindi uyarisinida aldik ve Ana Sayfaya Dönüp Listemize bakalim.Asagida Gördügünüz gibi Kayit artik yok.
 
Son Hali
 
Listede Göremediginiz üzere kaydimiz silindi. Simdi bu islemin arka perdesinde neler dönüyor onu inceleyelim. Yani Kod kismina bakiyoruz.
 
DELETE.ASP Sayfasi Kodlari:
 

<!–#include file="connection.asp" –> *** yine baglanti ayarlarimizi aldik
<html>
<head>
<title>DELETE PAGE</title>
</head>
<body>
<center>
<%
dim ID
ID = request.queryString("ID") *** delete linkine tikladigimizda delete.asp sayfasina soru isaretiyle ilgili ögrencinin ID sini gönderiyoruz demistik hatirlarsaniz. Burda gönderdigimiz ID yi aliyoruz.
set stds = server.createObject("adodb.recordset") *** stds adinda küme olusturuyoruz
sql = "Delete * from students where ID="&ID *** ilgili ID li ögrenciyi silmek için sql cümlecigimizi olusturuyor
stds.open sql,conn,1,3 *** ve ögrencimizi sildik
response.Write(" Student is deleted which has the ID=" &ID) *** uyarimizida verdik
%>
<hr>
<a href="default.asp">Main Page</a> *** en altada ana sayfaya dönüs linkimizi koyarak islemimizi bitirdik.
</center>
</body>
</html>
 


Afiyet OLSUN 🙂

SELÇUK ÇELIK
Computer Information Systems

13 thoughts on “Asp Ögrenci Kayit Projesi

  1. çok güzel bir çalisma.Emegi geçen arkadaslara tesekkürler.Bu çalismayi toplu güncelleme yada çoklu güncellemeye nasil çevirebiliriz.Bu konuda da bilgi verebilirseniz çok sevinirim.Özellikle, güncelleme yapildiginda güncelleme tarihini otomatik olarak yazmasi saglanabilirse harika olur.

  2. mrb hocam benimde asp ile ödevim var ögrencinin fotografinin altinda ismi ve soyismi olacak sekilde yapacakmissim bana yardimci olabilirmisiniz  projem ana okulu Ögrencilerimiz sayfasini veri tabani access ile asp bagliyacam sonra ögrencinin fotografi ve adi soyadi cikacakmis Yardimci olursaniz sevinirim

  3. güzel yapilmis  yapana tesekkürler  not alanlari sinavlar kismi eklediginde daha güzel olur basarilar…

  4. Ellerinize saglik. ASP hiç bilmememe ragmen veritabanindan dinamik olarak veri çekebilen ve yönetim panelinden ilgili tablonun insert/update/delete islemlerini yapabilen sayfalar olusturabildim. Çok açiklayici güzel bir makale olmus. Vakit ayirip yazdiginiz için tesekkürler. 🙂

  5. …devami….

    cevabim biraz uzun oldugundan 3 parça. asagidan yukari dogru okumalisin:)

    tekrar kolay gelsin

  6. …devami….

    azcik ugrasirsan yapabilirsin bence… mantigi anlayan bunu biraz zahmet vererek yapabilir… ben denemedim suan aklima geldi gibi yaziyorum bu aralar biraz sikisik oldugumdan fazla vakit ayirip kod vermek imkanim olamicak gibi ondan en azindan anlatayim dedim

    kolay gelsin…

  7. …devami…

    sen bunu ID yerine isim yazarak aratacaksin yani   request.Form("name")    ile formdan aldigin ismi artik oraya ismini ne yazdinsa o ögrenciyi bulup getireceksin…

    update saydasini search.asp yada arama.asp sayfasi gibi degisik bi ad ile farkli kaydedip ana sayfayada bi ARA butonu eklersen eger update butonu gibida ara butonunu arama.asp sayfasina gönderirsen ve sonrada arama sayfasina yaani eski update.asp sayfasinda GELEN ID yi bulup databaseye baglanip o ID li ögrenci cekmek yerine gönderdigin ismi cekme islemi yapacaksin…

    azcik ugrasirsan yapabilirsin bence… mantigi anlayan bunu biraz zahmet vererek yapabilir… ben denemedim su

  8. aleykümselam

    kardes ana sayfa ile update sayfasini incelediysen eger tipki UPDATE mantigi gibi arama sayfasi cok kolay olusturabilirtsin bence.

    ana sayfadan update sayfasina ne gönderdigimizi hatirla???

    <td><a href="update.asp?ID=<%=students("ID")%>">Update</a></td> bu kodu ana sayfada görebilirsin…

    bu kodla ögrenci id sini alip update sayfasina gönderiyorsun ve update sayfasinda bu ID li ögrenciyi bulup getiriyorsun yani bir nevi arattirma yapiyoruz orda…

    sen bunu ID yerine isim yazarak ara

  9. Selamun aleyküm

    Hocam bu sisteme kayit arama nasil eklenir.

    Birde onun kodlarini versen müthis olacak.

    Emegin için çok çok tesekkürler.

    Selam ve dua ile…

  10. kullanicilarin makalesini duzenleyebilmesi icin yetki kisminda bazi degisiklikler yapmam gerekiyor. bu aralarda cok yogunum ilgilenemedim. eger resimleri bana gondersen gerekli yerlere eklerim

  11. Afiyet olsun ama makalemi düzenleyemiyorum ve makalede sayfa görüntü resimleride görünmüyor.

  12. Elinize saglik. Makalelerinizin devamini bekleriz. Makalede yazar ismi görünmüyor, nedenini bulup düzeltirim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir