Aspde Üye Giriş Kontrolu
-
Bulamadım nerde hata yarpıyorum hep oldu aq diyor yanlış şife+uyelikte bile..başka bir sayfadan name kısmı Nick ve Sifre olan veri aktarıyorum benim düşünceme göre burda eğer dbdeki üyelik adı ve şifre tutuyorsa oldu aq tutmuyorsa olmadı demesi lazım fakat olmuyor.
Ne mi yapıcam olsaydı oldu tarafında sesion aktarıcaktım sayfalarda session kontrolu ile üye girişi olup olmadığını halledicektim fakat olmadı.Yardım eder misiniz?
Ayrıca bir dökümanda suzek(Trim(request.form("Nick") )) gibi birşey yapmamı diyordu gerekli mi Trim ?
<%
Set baglanti = Server.Createobject("Adodb.Connection")
Set kd = Server.Createobject("Adodb.Recordset")
strVeritabaniYolu = "veritabani.mdb"
baglanti.Open "Provider=Microsoft.Jet.Oledb.4.0;Data Source="& Server.Mappath(strVeritabaniYolu) &";"
kd.open "SELECT * FROM uyeler WHERE Nick = '"&nick&"! and sifre = '"&sifre&"'", baglanti, 1, 3
%>
<%
nick = suzek(request.form("Nick"))
sifre = suzek(request.form("Sifre"))
if nick = Nick and sifre = Sifre then
response.write "oldu aq"
else
response.write "olmadi"
end if
%>
<% kd.Close %> -
<%
if suzek(Request("kullanici"))<>"" AND suzek(Request("sifre"))<>"" Then
uye=suzek(Trim(request("kullanici")))
sifre=suzek(Trim(request("sifre")))
else
response.redirect "giris.asp"
response.end
end if
tani = "SELECT * FROM uyeler WHERE kullanici='"& uye &"'"
Set kullanici=Server.CreateObject("ADODB.Recordset")
kullanici.open tani, baglanti, 1, 3
if kullanici.eof Then
Response.Write "böyle üye yok"
Else
if Lcase(kullanici("sifre"))<>Lcase(sifre) ThenResponse.Write "şifre uymadı"
else
response.write "hoş geldin"
end if
end if
kullanici.Close
%>
şimdi formdan gelen verileri süzdük zararlı kdoları arındırdık.. daha sonra trimle boşlukları aldık eğer kullanıcı veya şifre boşsa giris.asp ye yolladık eğer
boş değilse veri tabanından uye adını kontrol ettik üye adı yoksa üye yok dedik varsa şifresini kontrol ediyoz şifre uyarsa hoşgeldi
şifre uymazsa şifren uymadı diyip kapatıyoz bi denesene olcak mı
-
nick = Nick dersen her zaman true döner hoca
if kd("nick")=nick dieceksin...
Dİkkat et azcık...
-
hocam olay şöyle ondan
<input type="text" name="Nick" size="65">
bi önceki sayfada Nick diye attırıyorum sonra Nick i nick e dönüştürüyorum daha sonra dbdeki
kd.open "SELECT * FROM uyeler WHERE Nick = '"&nick&"! and sifre = '"&sifre&"'", baglanti, 1, 3
şu komutla Nick = nick olarak denedim ondan sanırım gidik.
-
Tamamdır şu kodlarla yaptım teşekkürler
<!--#include file="guvenlik.asp"-->
<%
Set baglanti = Server.CreateObject("ADODB.Connection")
baglanti.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("taban.mdb")
%> <%
If trim(suz(request.form("Nick")))="" then
Response.Write "<font face=Comic Sans MS><font size=2><center><br><br><br><br><br><br><br><b>UYARI:</b><br><br>Kullanıcı adınızı yazınız!<br><br><a href='javascript:history.back(1)'><FONT color=#e45f0e><u>Geri Dön</u></a></b></center>"
response.end
end ifIf trim(suz(request.form("Sifre")))="" then
Response.Write "<font face=Comic Sans MS><font size=2><center><br><br><br><br><br><br><br><b>UYARI:</b><br><br>Şifrenizi yazınız!<br><br><a href='javascript:history.back(1)'><FONT color=#e45f0e><u>Geri Dön</u></a></b></center>"
response.end
end if
%> <%
Set rs = Server.CreateObject("Adodb.Recordset")
Sorgu = "select id, Nick, Sifre from uyeler where Nick = '" & suz(request.form("Nick")) & "' and Sifre = '" & suz(Request.form ("Sifre")) & "'"
rs.Open Sorgu, Baglanti, 1, 3
If rs.BOF And RS.EOF Then
Response.Write "<font face=Comic Sans MS><font size=2><center><br><br><br><br><br><br><br><b>UYARI:</b><br><br>Kullanıcı Adınız & Şifreniz Yanlıştır!<br><br><a href='javascript:history.back(1)'><font face=Comic Sans MS><font size=2><FONT color=#e45f0e><u>Geri Dön</u></a></b></center>"
Else
response.write("bişi")
End If
%> -
hoca nick=nick dersen iki nick karşılaştırmış olursun, asp de büyük kücük fark etmez...
kd("nick") databaseden seçtiğin nicki, alır kd("nick")=nick yap diorum...
-
hocam hala dbq mu kullanıyosunuz.. ?
dbq serveri yorar eski teknoloji olduğu için jetOLEDB ye geçin sadece db bağlantı kodlarını aşağıdakiyle değiştirin yeter.
<%
Set VeriT = Server.CreateObject("ADODB.Connection")
VeriT.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & application("veritabani_yolu") & "\xxxx.mdb"
sqlifadesi="DELETE FROM toplistler WHERE kimlik=" & SqlInjection(request.querystring("kimlik"))
VeriT.Execute (sqlifadesi)
%>gerçi en son mesajında JetOledb ye geçmişin ilk mesajda varmış dbq olsun en azından kullanmayanlar onu kullansın.. ;)
saygılar...
-
manglerman bunu yazdı:
-----------------------------
hocam hala dbq mu kullanıyosunuz.. ?dbq serveri yorar eski teknoloji olduğu için jetOLEDB ye geçin sadece db bağlantı kodlarını aşağıdakiyle değiştirin yeter.
-----------------------------
hocam hiç uğraşmayın mssql'e geçin :) sql bildikten sonra çok basit oluyor, bi kaç şey baya uğraştırıyor ama en fazla 1 haftanızı alıyor
renegadealien bunu yazdı:
-----------------------------
asp de büyük kücük fark etmez...
-----------------------------
hocam farkediyodu yaw.. mesela veritabanından bi kayıt çekiyorum..
diyelim ki;
rs("soru") : fenerbahçe
rs("cevap") : futbol
adam formdan cvp name'inde bi cevap gönderecek mesela cevabı Futbol olsun
cvp = request.form("cvp") dedikten sonra
if cvp = rs("cvp") then
response.write "afferim"
else
response.write "salak"
end if
Dediğimde salak yazıyor, yazar.. yani asp'de fener <> Fener oluyor
