Oscar
Global Moderator
   
Teşekkür Puanı
-Verdiği Teşekkür: 0
-Aldığı Teşekkür: 21
Offline
Mesaj Sayısı: 389
Ya Kral Olurum Ya Kural Koyarim...
|
Asp ye merak sarmış bir çok kişinin en çok merak ettiği ve acilen öğrenmek istediği bir konu var.Bir web sitesi yapmaya karar verdiniz ve sitenizi güncelleştirmekte kolaylık sağlayacak yönetim paneli hazırlamakta zorluk çekiyorsunuz.Şimdi yazacaklarım veritabanına bağlanıp mevcut kayıtlarınızı düzenleyebilme, silme veya yeni kayıt eklemeyi internet üzerinde yapabilecek aktif web sayfaları hazırlamak üzerine olacak.
Örnek olarak verebileceğim bir çok alan var ben bir haber sitesi için haber ekleme yönetim sayfaları nasıl olur anlatacam.
Bizim için gerekli 6 adet asp dosyası hazırlamamız gerekli
1- Veritabanına bağlantı için sayfa
2- Kayıtlarımızı görebileceğimiz bir admin sayfası
3- Yeni Kayıt ekleyebileceğimiz bir form sayfası
4- Eklediğimiz kayıt bilgilerini veritabanına yazacak olan sayfa
5- Eklenmiş kayıtlar üzerinde düzenleme yapabileceğimiz ayrı bir form sayfası
6- Kayıtlarımızı silmek için biraz kodlama
1-Şimdi veritabanına bağlanabilmek için yapacağımız sayfanın adı veri_baglanti.asp olsun.
Veri_baglanti.asp dosyasında sadece şu kodlar olacak :
<%
Set bag = Server.Createobject("Adodb.Connection")
bag.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veritabanim.mdb")
%>
Eğer veritabanınız aynı dizinde yani asp dosyalarının bulunduğu aynı klasördeyse veritabanim.mdb şeklinde veritabanı yolunu belirliyoruz .Eğer aynı dişzinde fakat “db” gibi bir klasördeyse db/veritabanim.mdb bir üst dizinde ve “db” gibi bie klasördeyse ../db/veritabanim.mdb şeklinde olacak.
Veri_baglanti.asp dosyasını yaptıktan sonra diğer sayfalar için include kodumuzu diğer sayfalara eklememiz gerekli
<!--#include file="veri_baglanti.asp" -->
bu şekilde diğer yapacağımız sayfalara veri_baglanti.asp dosyasoını include etmeyi unutmamalıyız.Hangi sayfalara ekleyeceğimizi yazının devamında belirtecem.
2- Kayıtlarımızı görebileceğimiz sayfa da şu şekilde tasarlanmalı
örneğin veritabanımızda haberler diye bir tablo var ve bu tabloda id, baslik, detay, haber, tarih alan adları var. ”id” her ekleyeceğimiz kayıt için otomatik sayı veren alandır. Admin sayfamızda istediğimiz şekilde haber başlığı , haber detayı, haber, resim ve eklenme tarihini göreceğimiz bir sayfalama sistemi tasarlamamız gerekli.
Hazırlayacağımız sayfanın adı haber_admin.asp olsun.Ve şu kodları kullanalım.
<% @codepage="1254" %>
<%
git = Request.QueryString("git")
%>
<!--#include file="veri_baglanti.asp" -->
<html>
<head>
<meta **********="Content-Language" content="tr">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta **********="Content-Type" content="text/html; charset=windows-1254">
<title> Haber Yönetim Sayfası</title>
</head>
<body>
<div align="center">
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="854" height="38" id="AutoNumber1">
<tr>
<td width="854" height="1" bgcolor="#EBF0FC" bordercolor="#000080" colspan="2">
<p align="center"><font color="#3466DE" face="Tahoma"> HABERLER
YÖNETİM SAYFASI</font><p align="center">
<font face="Tahoma" color="#3466DE">=<a style="text-decoration: none" href="haberler_ekle.asp">
<font color="#3466DE">Yeni Haber Ekle</font>[/url] =
<a href="default.asp" style="text-decoration: none"><font color="#3466DE">
Ana Sayfa</font>[/url] =</font></td>
</tr>
<%
set halkpel_haber = Server.CreateObject("Adodb.Recordset")
sorgu = "Select * from haberler order by id desc"
halkpel_haber.open sorgu,bag,1,3
tane = halkpel_haber.recordcount
sayfa = Request.QueryString("sayfa")
if sayfa="" then
sayfa=1
end if %>
<% halkpel_haber.pagesize = 10
halkpel_haber.absolutepage = sayfa
sayfax = halkpel_haber.pagecount
for i=1 to halkpel_haber.pagesize
if halkpel_haber.eof then exit for
%>
<table width="884" bordercolor="#3466DE" style="border-collapse: collapse" cellpadding="0" cellspacing="0">
<tr>
<td width="138" height="34" bordercolor="#3466DE" style="border: 1px solid #3466DE"><font face="Tahoma">Haber Başlığı</font></td>
<td width="736" height="34" bordercolor="#3466DE" style="border: 1px solid #3466DE"> <%=Left(halkpel_haber("baslik"),100 ) %></td>
</tr>
<tr>
<td width="138" height="41" bordercolor="#3466DE" style="border: 1px solid #3466DE"><font face="Tahoma">Haber Detayı</font></td>
<td width="736" height="42" bordercolor="#3466DE" style="border: 1px solid #3466DE"> <%=Left(halkpel_haber("detay"),200) %>...</td>
</tr>
<tr>
<td width="138" height="61" bordercolor="#3466DE" style="border: 1px solid #3466DE"><font face="Tahoma">Haber Metni</font></td>
<td width="736" height="62" bordercolor="#3466DE" style="border: 1px solid #3466DE"> <%=Left(halkpel_haber("haber"),600) %>...</td>
</tr>
<tr>
<td width="138" height="18" bordercolor="#3466DE" style="border: 1px solid #3466DE"><font face="Tahoma">Eklenme Tarihi</font></td>
<td width="736" height="18" bordercolor="#3466DE" style="border: 1px solid #3466DE"><%=halkpel_haber("tarih") %></td>
</tr>
<tr>
<td width="878" height="14" align="center" colspan="2" bordercolor="#3466DE" style="border: 1px solid #3466DE">
<p style="margin-top: 0; margin-bottom: 0"><font face="Tahoma">
<a href="haber_sil.asp?id=<%=halkpel_haber("id")%>" style="text-decoration: none">
<font color="#3466DE">SİL</font>[/url]<font color="#3466DE"> -
<a style="text-decoration: none; font-weight: 700" href="haber_duzenle.asp?id=<%=halkpel_haber("id")% >">
<font color="#3466DE">DÜZENLE</font>[/url]</font></font></p>
</td>
</tr>
<%halkpel_haber.movenext%>
<% next %>
<tr>
<td width="878" height="5" align="center" colspan="2" bordercolor="#3466DE">
</td>
</tr>
</table>
<table width="462"><tr><td width="456" style="border: 1px solid #000080"><font color="black">   ;&n bsp; &nbs p;   ; Sayfa : <%
for adet=1 to sayfax
if sayfa=adet then
response.write adet
else
response.write " <a href=""haber_admin.asp?sayfa="&adet&""">"&adet&"[/url]"
end if
next
%>
<p >   ;& nbsp; &nb sp;   ;   ; Toplam <%=tane%> haber bulunmaktadır </p></font>
</td></tr></table>
</center>
</div>
</body>
</html>
Notlar :1- <%=Left(halkpel_haber("detay"),200) %> bunun anlamı haberler tablosundaki detay alan adının sadece soldan ilk 200 karakterini görüntüle dir.
3- Yeni kayıt için gerekli form sayfamızın adı haber_ekle.asp olsun. Ve şu kodları kullanalım;
<html>
<head>
<meta **********="Content-Language" content="tr">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta **********="Content-Type" content="text/html; charset=windows-1254">
<title> HABER EKLEME</title>
</head>
<body>
<form method="POST" action="haber_add.asp">
<div align="center">
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="523" height="8" id="AutoNumber2">
<tr>
<td width="523" height="8">
<p align="center"><font face="Tahoma" size="5" color="#3466DE"> HABER
EKLEME</font><p align="center">
<font face="Tahoma"><font color="#3466DE">= </font>
<a href="haberler_admin.asp" style="text-decoration: none">
<font color="#3466DE">Haber Yönetim Sayfası</font>[/url]<font color="#3466DE"> =
</font></font><font face="Tahoma" color="#3466DE">
<a href="default.asp" style="text-decoration: none">
<font color="#3466DE">Ana Sayfa</font>[/url] =</font></td>
</tr>
</table>
</center>
</div>
<div align="left">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="816" height="213" id="AutoNumber1">
<tr>
<td width="148" height="25" bgcolor="#FCFCFC" bordercolor="#808080">
<font face="Tahoma">Haber Başlığı </font></td>
<td width="662" height="26">
<input name="baslik" type="text" class="form" id="baslik" size="55" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC"></td>
</tr>
<tr>
<td width="148" height="29" bgcolor="#FCFCFC" bordercolor="#808080">
<font face="Tahoma">Haber Detayı </font></td>
<td width="662" height="29">
<textarea rows="7" name="detay" cols="51" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC"></textarea></td>
</tr>
<tr>
<td width="148" height="85" bgcolor="#FCFCFC" bordercolor="#808080">
<font face="Tahoma">Haber & nbsp;
</font></td>
<td width="662" height="85">
<textarea rows="12" name="haber" cols="81" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC"></textarea></td>
</tr>
<tr>
<td width="148" height="43" bgcolor="#FCFCFC" bordercolor="#808080">
<font face="Tahoma">Resim </font></td>
<td width="662" height="43">
<input name="resim" type="text" class="form" id="adi2" size="83" style="font-size: 10pt; font-family: Tahoma; border: 1px solid #808080; background-color: #FCFCFC" value="haber_resimleri/"></td>
</tr>
<tr>
<td width="148" height="22"> </td>
<td width="662" height="22">
<p align="center">
<input type="submit" value="KAYDET" name="B1" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC">
<input type="reset" value="HEPSİNİ SİL" name="B2" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC"></td>
</tr>
</table>
</div>
<p align="left"> </p>
</form>
</body>
</html>
Not: <form method="POST" action="haber_add.asp"> bu formlara yazacağımız veriler haber_add diye oluşturacağımız asp sayfasında işlenerek veritabanına kaydolacaktır.
4- Eklediğimiz kayıt bilgilerini veritabanına yazacak olan sayfanın adı haber_add olacak şekilde yapalım ve şu kodları kullanalım;
Not: burada veri_baglanti.asp dosyamızı include etmeyi unutmayalım.
<% @codepage=1254 %>
<!--#include file="veri_baglanti.asp" -->
<%
set halkpel_haber = Server.CreateObject("Adodb.Recordset")
sorgu = "Select * from haberler"
halkpel_haber.open sorgu,bag,1,3
%>
<%
baslik = Request.Form("baslik")
detay = Request.Form("detay")
haber = Request.Form("haber")
resim = Request.Form("resim")
halkpel_haber.addnew
halkpel_haber("baslik") = baslik
halkpel_haber("detay") = detay
halkpel_haber("haber") = haber
halkpel_haber("resim") = resim
halkpel_haber("tarih") = date
halkpel_haber.update
%>
<% response.redirect ("haber_admin.asp") %>
5- Eklenmiş kayıtlar üzerinde düzenleme yapabileceğimiz form sayfasının adı haber_duzenle.asp olacak.
Gerekli kodlar ;
<% @codepage="1254" %>
<%
id=Request.QueryString("id")
if id="" then
Response.write "Id alınamadı"
end if
%>
<%
islem=Request.QueryString("islem")
if islem="duzenle" then
call duzenle
end if
%>
<html>
<head>
<meta **********="Content-Language" content="tr">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta **********="Content-Type" content="text/html; charset=windows-1254">
<title> HABER EKLEME</title>
</head>
<body>
<form method="POST" action="haber_duzenle.asp?islem=duzenle&id=<%=id%> ">
<div align="center">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="699" height="8" id="AutoNumber2">
<tr>
<td width="699" height="8">
<p align="center"> <font face="Tahoma" size="5"> HABER EKLEME</font><p align="center">
<font face="Tahoma">=
<a href="haberler_admin.asp" style="text-decoration: none">
<font color="#3466DE">Haber Yönetim Sayfası</font>[/url] =</font></td>
</tr>
</table>
</div>
<div align="left">
<!--#include file="veri_baglanti.asp" -->
<%
set halkpel_haber = Server.CreateObject("Adodb.Recordset")
sorgu = "Select * from haberler ORDER BY id=" &id
halkpel_haber.open sorgu,bag,1,3
%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="816" height="213" id="AutoNumber1">
<tr>
<td width="148" height="25" bgcolor="#FCFCFC" bordercolor="#808080">
<font face="Tahoma">Haber Başlığı </font></td>
<td width="662" height="26">
<input name="baslik" type="text" class="form" id="baslik" size="55" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC" value="<%=halkpel_haber("baslik")%>"></td>
</tr>
<tr>
<td width="148" height="29" bgcolor="#FCFCFC" bordercolor="#808080">
<font face="Tahoma">Haber Detayı </font></td>
<td width="662" height="29">
<textarea rows="7" name="detay" id="detay" cols="51" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC"><%=halkpel_haber("detay")%></textarea></td>
</tr>
<tr>
<td width="148" height="85" bgcolor="#FCFCFC" bordercolor="#808080">
<font face="Tahoma">Haber & nbsp;
</font></td>
<td width="662" height="85">
<textarea rows="12" name="haber" id="haber" cols="81" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC"><%=halkpel_haber("haber")%></textarea></td>
</tr>
<tr>
<td width="148" height="43" bgcolor="#FCFCFC" bordercolor="#808080">
<font face="Tahoma">Resim </font></td>
<td width="662" height="43">
<input name="resim" type="text" class="form" id="resim" size="83" style="font-size: 10pt; font-family: Tahoma; border: 1px solid #808080; background-color: #FCFCFC" value="<%=halkpel_haber("resim")%>"></td>
</tr>
<tr>
<td width="148" height="22"> </td>
<td width="662" height="22">
<p align="center">
<input type="submit" value="KAYDET" name="B1" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC">
<input type="reset" value="HEPSİNİ SİL" name="B2" style="font-family: Tahoma; font-size: 10pt; border: 1px solid #808080; background-color: #FCFCFC"></td>
</tr>
</table>
</div>
<p align="left"> </p>
</form>
</body>
</html>
<% sub duzenle %>
<!--#include file="veri_baglanti.asp" -->
<%
set halkpel_haber = Server.CreateObject("Adodb.Recordset")
sorgu = "Select * from haberler where id=" &id
halkpel_haber.open sorgu,bag,1,3
%>
<%
baslik = Request.Form("baslik")
detay = Request.Form("detay")
haber = Request.Form("haber")
resim = Request.Form("resim")
halkpel_haber("baslik") = baslik
halkpel_haber("detay") = detay
halkpel_haber("haber") = haber
halkpel_haber("resim") = resim
halkpel_haber.update
%>
<% response.redirect ("haber_admin.asp")
end sub
%>
burada da veri_baglanti.asp sayfasını include ettik.
6-Dikkat etmişseniz haber_admin.asp dosyasında her kayıt için sil ve düzenle linki vardı işte silmek istediğiniz kayıt altındaki sil linkine bastığınız zaman sayfa yeni oluşturacağımız ve haber_sil.asp şeklinde adlandıracağımız sayfaya yönlenir ve kaydı siler.Kayıtlarımızı silmek için gerekli kodlama şu şekilde olacak.
<%
Response.Expires = -1000
Set id = Request.QueryString("id")
set con = server.CreateObject("ADODB.connection")
con.Open "driver={microsoft access driver (*.mdb)}; DBQ=" & server.MapPath("veritabani.mdb")
SQL = "delete from haberler where id="
SQL = SQL & id
set rs=con.Execute(SQL)
Response.Redirect("haber_admin.asp")
%>
burada veri_baglanti.asp dosyasını include etmedim çünkü hata veriyor daha doğrusu tam verim alamıyordum bu yüzden veritabanına bağlantı kodunu gerektiği gibi yazdım.
6 adet dosyamızı detaylı bir şekilde nasıl yapacağımızı açıklamaya çalıştım artık gerisi size kaldı.Hadi kolay gelsin.
2- <% halkpel_haber.pagesize = 10
halkpel_haber.absolutepage = sayfa
sayfax = halkpel_haber.pagecount
for i=1 to halkpel_haber.pagesize
if halkpel_haber.eof then exit for
%>
buradaki “10“ rakamı verileri alt alta bir sayfada 10 tane sırala demektir.
|