İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

ASP hakkında bir kaç soru..

Jabba

0
İyinet Üyesi
Katılım
21 Mart 2005
Mesajlar
51
Reaction score
0
Selamlar,

Arkadaşlar projem var okulda ve ASP derslerine girmedim çoğunluka :eek: O yüzden mantarlama durumum var :) Hoş bitti proje :p işte bonus falan olayı var birde o yüzden sizden bazı ricalarım olucak..

<%
dbdsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("anket.mdb") & ";"
Set db = Server.CreateObject("ADODB.Connection")
db.Open dbdsn
Set rs = Server.CreateObject("ADODB.Recordset")
sqlDeyim = "SELECT * FROM [admin] Where [user] =" & "'" & Request.Form("user") & "' AND [pass] =" & "'" & Request.Form("pass") & "'"
rs.Open sqlDeyim, db, 3, 3
if rs.RecordCount>=1 then
Response.Write "Hoş geldiniz sayın Adminim :p"

else Response.Write "Kullanıcı adı veya şifre yanlış !!!"
end if
rs.Close
db.Close
%>


gördüğünüz gibi bir şifre doğrulama hedesi hödesi var burda.ben en basit şeyi yapamıyorum .şuan ve deliricam olay şu;
Response.Write "Hoş geldiniz sayın Adminim :p"
bunun altına yani doğru user ve pass ile giriş yaparsa kişi iki tane link olucak veya buton fark etmez.Linkde veya butonda "Anket Sonuçlarını Listele" altında ise "Anket Sonuçlarını Sil" olucak :)

Anket sonuçlarını listele olayını yaptım ve listele.asp adiyla ama abicim gel görkü asp kodunun içine html kodu koyamıyorum :D yani "Anket Sonuçlarını görüntüle" diyince listele.asp açılsın kısaca bu :D Anket Sonuçlarını Sil diyincede sil.asp açılsın.Yukarda çok saçma anlattım sanırım :)
 

trextra

0
İyinet Üyesi
Katılım
4 Mart 2005
Mesajlar
5,290
Reaction score
0
Konum
Kadıköy
<% %> Kodları arasında html kodu yazarken " yerine tek tırnak ' kullanmalısın. Ya da %> kapatıp, normal kullanabilirsin.
Kod:
<%
dbdsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("anket.mdb") & ";" 
Set db = Server.CreateObject("ADODB.Connection") 
db.Open dbdsn 
Set rs = Server.CreateObject("ADODB.Recordset") 
sqlDeyim = "SELECT * FROM [admin] Where [user] =" & "'" & Request.Form("user") & "' AND [pass] =" & "'" & Request.Form("pass") & "'"
rs.Open sqlDeyim, db, 3, 3 
if rs.RecordCount>=1 then %>
Hoş geldiniz sayın Adminim :P <br><br>
» <a href="listele.asp">Anket Sonuçlarını Listele</a><br>
» <a href="sil.asp">Anket Sonuçlarını Sil</a><br>
<%
else Response.Write "Kullanıcı adı veya şifre yanlış !!!" 
end if 
rs.Close
db.Close
%>
 

sitemedya

0
İyinet Üyesi
Katılım
11 Kasım 2004
Mesajlar
284
Reaction score
0
yada "" da kullabilirsin. örnekler aşağıda.
örnek aşağıda:

Kod:
<%
if bilgi = "deneme" then
  response.write "<a href=""deneme1.asp"">deneme1</a>"
  response.write "<a href=deneme2.asp>deneme2</a>"
  response.write "<a href='deneme3.asp'>deneme3</a>"
%>
  <a href="deneme4.asp">deneme4</a>
<%
end if
%>
 

KerneL32

0
İyinet Üyesi
Katılım
8 Mart 2005
Mesajlar
1,247
Reaction score
0
Bence oyle yapma zor olur ... Session Kullanmak En Mantiklisi ...

Kodlarini su sekilde degistir :

giris.asp ( formu gonderdigin dosya )
-----------------------------------
<%
dbdsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("anket.mdb") & ";"
Set db = Server.CreateObject("ADODB.Connection")
db.Open dbdsn
Set rs = Server.CreateObject("ADODB.Recordset")
sqlDeyim = "SELECT * FROM [admin] Where [user] =" & "'" & Request.Form("user") & "' AND [pass] =" & "'" & Request.Form("pass") & "'"
rs.Open sqlDeyim, db, 3, 3
if rs.RecordCount>=1 then
Session("Admin") = Request("user")
Session("Sifre") = Request("pass")
Response.Redirect "admin.asp"
else Response.Write "Kullanıcı adı veya şifre yanlış !!!"
end if
rs.Close
db.Close
%>

Bu Sayfa Sifrenin Dogru Olup Olmadigini Kontrol Ediyor Bildigin Gibi. Burda fark olarak sunu yaptik Session("Admin") 'e form'dan aldigin admin adini yazdirdik. Bir oturum actik yani. Bu oturum erisimine sahip olan sayfayi sadece admin girisini dogru sekilde yapanlar gorecektir. Oturumu actiktan sonra response.redirect "admin.asp" ye yonlendirdik. Admin.asp sayfasina html olarak istedigin seyleri yaz linkleri vs. sayfanin ustune sunu yaz sadece

<%
If Len(Session("Admin")) = 0 and Len(Session("Sifre")) = 0 Then
response.redirect "erisiminizyok.asp"
End If
%>

Burda ise sunu yaptik eger admin girisi yapilmamis ise admin.asp sayfasini goremeyecek ve otomotik olarak erisiminizyok.asp dosyasina yonlendirecektir. Bunu giris sayfasina da yonlendirebilirsin. Ayni sekilde sadece adminin gormesini ve adminin islem yapmasini istedigin sayfalarin ustune bu kodlari yazman yeterli olacaktir.

Veya sadece bu kodlari bir asp dosyasina kaydedersin ve erisimi kisitlamak istedigin sayfalarin en ustune <!--#include file="guvenlik.asp"--> seklinde include edersin. Burda dikkat etmen gereken sey eger response.redirect "erisiminizyok.asp" yerine herhangi bir yazi yazdirirsan yani response.write "erisiminiz yok giris yapin" yazarsan yine altta hazirlamis oldugun asp veya html kodlari gozukecektir.

Tavsiyem sudur ki include ederek erisim yokken giris sayfasina tekrar gondermen ve bir msg kutusu icinde hatayi bildirmen.

Bu sistemi kullandigin taktirde birde cikis sayfasi yapmani tavsiye ederim. Cikis yazisina link olarak cikis.asp 'yi verirsin ve icine de

<%
Session.Abandon()
Response.write "basarili bir sekilde cikis yaptiniz."
%>

yazarsan admin cikis 'a tikladiginda session oturumu bosaltilir ve guvenli bir sekilde cikmis olur. herhangi bir admin dosyasini adres satirina yazsada veya geri donup islem yapmak istesede islemini gerceklestiremeyecektir.

Bunun yani sira eger sitende birden fazla admin varsa ve hangi adminin en son ne zaman giris yaptigini veya kackez giris yaptigini ogrenmek istiyorsan yazdigin kodlara ufak bir ek de yapabilirsin. yapacagin ekler su sekilde olacaktir.

if rs.RecordCount>=1 then
girissayisi = rs("hit")
rs("songiris") = Now()
rs("hit") = girissayisi +1
rs.update
Session("Admin") = Request("user")
Session("Sifre") = Request("pass")
Response.Redirect "admin.asp"

Bunun yani sira son olarakta giris yaptiktan sonra session kullandi isen admin sayfana hosgeldin xxx seklinde yazdirmak icinde hosgeldin <%=Session("Admin")%> yazabilirsin.

Eger adminler birden fazla ise ve aralarinda yetki durumu varsa ( ORN: 1 levelli admin gorebilir 2 levelli admin gorebilir yazabilir 3 levelli admin gorebilir yazabilir degistirebilir silebilir ) bunu da yine giris sayfasindan alacagin bir Session ile saglayabilirsin.

Ornek olarak levellere gore davranmak icin

<%
If Session("Level") = "1" Then
response.write "sadece gorebilirsiniz"
ElseIf Session("Level") = "2" Then
response.write "gorebilirsiniz ve kayit ekleyebilirsiniz."
....
End If
%>

Kodlarin bu sekilde olacaktir. Bunu kullanici kisitlarken kullanmak istersen islem sayfasinin ustune response.redirect ile kullanman gerekir.

Simdilik bu kadar umarim yardimci olabilmisimdir. Bir sorun olursa veya ihtiyacin olursa PM atabilirsin...

Iyi calismalar
MSN : [email protected]
 

trextra

0
İyinet Üyesi
Katılım
4 Mart 2005
Mesajlar
5,290
Reaction score
0
Konum
Kadıköy
Session tabanlı bir site yapmıştım vakti zamanında. Çıldırtacak derecede hata veriyordu. Cookie ye geçip düzeltmiştim :)
 

Jabba

0
İyinet Üyesi
Katılım
21 Mart 2005
Mesajlar
51
Reaction score
0
hmmmm ilginizden dolayı herkeze çok teşekkürler.Proje zaten tamamen bitmişti bu yaptığım bonustu!Kernel32 arkadaşımızın dediklerini yapim daha göz doldurucu ve daha prof. :)

herkeze çok teşekkürler..
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst