Arama Kısıtlaması Asp (Yardım)
-
access de arama yaptırıyorum 3 harf den az olunca hata vermesini istiyorum
if rs.eof then
if kelime < 3 then 'BURASI OLMADI :))
response.write "<center><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><hr>Bu nickde kayıt bulunamadı veya 3 harfden küçük<hr></center>"
else
do while not rs.eof
with response
.write "<center>"
.write "<p>Nicki "
.write ""
.write "<a href=kdetay.asp?id="
.write rs("id")
.write "&kid="
.write rs("kid")
.write ">"
.write rs("baslik")
.write "<br>"
.write ""
.write "Türü: "
.write rs("detay")
.write "<br>"
.write "Level: "
.write rs("telefon")
.write "<br>"
.write "<hr>"
.write "</p</a>"
.write "</center>"
end with
rs.movenext:loop
end if
%>
-
len(kelime) < 3
şeklinde olcak. len() fonksiyonu parantez içindeki değişkenin karakter sayısını verir ;)
-
$öle olcak ;
if len(kelime) < 3 then
response.write "en az 3 kelime olsn"
elseKODLAR
end if -
angels_demos bunu yazdı:
-----------------------------$öle olcak ;
if len(kelime) < 3 then
response.write "en az 3 kelime olsn"
elseKODLAR
end if
-----------------------------böyle yapınca kelimeye ne yazarsan "en az 3 kelime olsn" diyor
-------
if rs.eof then
response.write "<center><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><hr>Bu nickde kayıt bulunamadı !!!<hr></center>"
response.end
elseif len(kelime) < 3 then
response.write "en az 3 kelime olsn"
else
do while not rs.eof
with response
.write "<center>" yapınca da else deki sonuçları vermiyor (1 yazınca "en az 3 kelime olsn" diyor 2 yazınca Bu nickde kayıt bulunamadı !!! diyo:D) -
kelime=request.form("kelime")
if len(kelime) =< 3 then
response.write "en az 3 kelime olsn"
elseKODLAR
end ifşunu dne olmazsa
if len(kelime) <= 3 then
response.write "en az 3 kelime olsn"
elseKODLAR
end if= in ne tarafda olduğunu unutum :D
-
tam olarak yapmak istediğin şeyi söylersen gerekli döngüyü yazabiliriz :S
-
f1kr3t bunu yazdı:
-----------------------------tam olarak yapmak istediğin şeyi söylersen gerekli döngüyü yazabiliriz :S
------------------------------ arama yapınca 3 karakterden küçük ise hata vericek
- kayıt bulmayınca hata vericek
- kayıtı bulursa yazdırıcak
-----
kodların şuanki hali:
<%
ara=Request.Querystring("kelime")
Set CeMedia = Server.CreateObject("ADODB.Recordset")
Set CeMedia=Server.Createobject("Adodb.Connection")
CeMedia.provider="Microsoft.Jet.Oledb.4.0"
CeMedia.open Server.Mappath("databese.mdb")
sor="select * from ilanlar where baslik like '%"&ara&"%' or baslik like '%"&ara&"%'"
Set rs=CeMedia.execute(sor)
if rs.eof then
response.write "<center><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><hr>Bu nickde kayıt bulunamadı !!!<hr></center>"
else
do while not rs.eof
with response
.write "<center>"
.write "<p>Nicki "
.write ""
.write "<a href=kdetay.asp?id="
.write rs("id")
.write "&kid="
.write rs("kid")
.write ">"
.write rs("baslik")
.write "<br>"
.write ""
.write "Türü: "
.write rs("detay")
.write "<br>"
.write "Level: "
.write rs("telefon")
.write "<br>"
.write "<hr>"
.write "</p</a>"
.write "</center>"
end with
rs.movenext:loop
end if
%>-----
-
strKelime = request.querystring("kelime") 'Filtreden geçirmeni tavsiye ederim.
if len(strKelime) < 3 THEN
Response.Write "Arama yapabilmek için en az 3 karakter girmeniz gerekmektedir."
else
set RS = Server.createObject("Adodb.Recordset")
RS.OPEN "SELECT * FROM ilanlar WHERE baslik like '%"&strKelime&"%' or icerik like '%"&strKelime&"%'", VERİTABANI ŞEYSİ, 1, 3
if RS.eof OR RS.bof THEN
Response.write "Aradığınız kriterlere uygun birşey bulunamadı."
else
do while not RS.eof
with Response
.write "Başlık: "&RS("baslik")&""
.write "İlan İçeriği: "&RS("icerik")&""
end with
RS.Movenext
loop
end if
RS.Close
set RS = Nothing
end if -
ontedi bunu yazdı:
-----------------------------strKelime = request.querystring("kelime") 'Filtreden geçirmeni tavsiye ederim.
if len(strKelime) < 3 THEN
Response.Write "Arama yapabilmek için en az 3 karakter girmeniz gerekmektedir."
else
set RS = Server.createObject("Adodb.Recordset")
RS.OPEN "SELECT * FROM ilanlar WHERE baslik like '%"&strKelime&"%' or icerik like '%"&strKelime&"%'", VERİTABANI ŞEYSİ, 1, 3
if RS.eof OR RS.bof THEN
Response.write "Aradığınız kriterlere uygun birşey bulunamadı."
else
do while not RS.eof
with Response
.write "Başlık: "&RS("baslik")&""
.write "İlan İçeriği: "&RS("icerik")&""
end with
RS.Movenext
loop
end if
RS.Close
set RS = Nothing
end if
-----------------------------oldu sonunda teşekkürler herkese:)
filtre dedin accesin içindeki yermi filtre uygula var :)
-
:S:S:S:S
replace hocam replace :D
böle kötü kaka kelimeleri sql inj. kelimelerini engelle yoksa seni engellerler :D
ama bi rivayete göre hava filitresi de bu işi gördüğü söyleniyor ontedi hocam hava filitresi kullanmış bi ara :/
-
tahribat dokuman arsivine bak sql injection ile dokumanlar goreceksin onlari bir oku.Sonra ferruhmavitunanin sql inj dokumanlari ve senaryolarinada bak.
