AsaMedlem sedan dec. 20011 860 inlägg Kan man på något sätt kolla såhär:
I databasen finns det massor av domäner blockade. Ex:
gruvsjo.com
sidan.com
kalle.com
Strängen Url ska jag kolla om den finns med i databasen.
Url = "gruvsjo.com/hugo/index.asp"
Kolla igenom databasen för blockade domäner och om någon av de blockade finns med i strängen Url ska det ej Godkännas. Annars Godkänns Url.
Hoppas någon fattar vad jag menar.
Har denna kod som jag testat med. Men den funkar inge bra.
<%Set Conn = createObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("galleri.mdb")
Url = "gruvsjo.com/hugo/index.asp"
Set Doman = Conn.Execute("Select * From domanblock")
If Not Doman.EOF Then
Do Until Doman.EOF
If InStr(Url,Doman("galleryUrl")) then
Response.Write "Nej" & "<br>"
Else
Response.Write "Ja" & "<br>"
End If
Doman.MoveNext
Loop
Else
Response.Write "Tomt i databasen" & "<br>"
End If%>
AsaMedlem sedan dec. 20011 860 inlägg Den hoppar ju till ja fast den finns i databasen eftersom när den loopar så hittar den ju ex post 1 att det inte stämmer och då blire ju Ja.
Vet inte hur jag ska lösa det att efter den loopat igenom kolla om nån av posterna inehåll url och sen skicka vidare.
Jag kanske tänker på fel sätt?
Engine^Medlem sedan dec. 20003 887 inlägg If Not InStr(Url, Doman("galleryUrl")) = 0 Then
AsaMedlem sedan dec. 20011 860 inlägg Funkar ej iallafall! :/ I detta fall ligger gruvsjo.com sist i databasen när den kollar efter Url.
Man måste på nå sätt göra att när man väl loopat igenom databasen, DÅ ska den skicka en vidare. Som det är nu så kollar den först post 1 och den är i detta fall Ja och skickar vidare till Ja.
Hur gör jag?
Engine^Medlem sedan dec. 20003 887 inlägg bOk = True
Do Until Doman.EOF
If InStr(Url,Doman("galleryUrl")) then
bOk = False
End If
Doman.MoveNext
Loop
If bOk Then
'Skicka vidare
Else
'Blockad adress
End If
PalleMedlem sedan apr. 20003 174 inlägg Vore det inte enklare med LIKE?
[RED]Set RecSet = Conn.Execute("SELECT galleryUrl FROM domanblock WHERE galleryUrl LIKE '%"& Url &"'")
If RecSet.EOF Then
' Fanns inte med..
Else
' Fanns med..
End If[/RED]
AsaMedlem sedan dec. 20011 860 inlägg Okej så om jag då han en länk som ser ut så här:
http://www.gruvsjo.com/kalle/index.asp
Så kommer den blockas eftersom gruvsjo.com finns i databasen?
Jo, om du definierar det så med Like. Kod kommer..
AsaMedlem sedan dec. 20011 860 inlägg Jag tänker nog helt fel bara. Är nog smidigt som du säger.
Engine^Medlem sedan dec. 20003 887 inlägg Nepp, men om du ändrar LIKE-satsen till '%" & Url & "%', gör den det, annars kommer den bara att blocka om url-en slutar på ...gruvsjo.com
Det är väl mer eller mindre en smaksak hur man löser detta, men det finns ju klara fördelar med att använda en tabell, eftersom då är det en smal sak att lägga till och ta bort url:er.
En tredje variant är att använda ett regular expression, men det är till att utnyttja fel metod ;)
Set rs = Conn.Execute("SELECT galleryUrl FROM domanblock WHERE galleryUrl LIKE '%"& Url &"%'")
If rs.EOF Then
' Fanns inte med..
Else
' Fanns med..
End If
/r: Tog bort lngDummy, eftersom jag inte kommer ihåg om den sattes till antalet påverkade rader när man körde Select...
Kod kommer INTE från mig - Engine^ förklarade ju.. :)
AsaMedlem sedan dec. 20011 860 inlägg Tackar för alla förslag! :)
Weeee!
[offtopic]Åsa - hade du kodat alla inkluderingar på Gruvsjo.com-sajten med <!--#include file="fil.asp"--> eller med Server.Execute("fil.asp")?
AsaMedlem sedan dec. 20011 860 inlägg Jag använde <!--#include file="fil.asp"--> . Vilket är bäst egentligen?
Server.Execute!!!
Om man kör med inkluderingar inkuderar man ju filer hela tiden, och om man kör lite mer komplicerade scripts så kan det lätt bli jobbigare med SSI. Dessutom - alla sidor inkluderas ju egentligen när en sida körs, men alla exekveras inte. Om man skrivit fel i en sida, säg /temp/online-grejor/bilder.asp och kör /temp/default.asp eller en annan fil, står det troligtvis ett felmeddelande där.
Med Server.Execute exekverar man EN sida, och inkluderar inget..
AsaMedlem sedan dec. 20011 860 inlägg Då ska jag använda det sen. Tackar :) Tänkte inte på det.
På min förra sajt, www.dileno.cjb.net, kodade jag med SSI. Jag kom underfund med att man kunde ha ett begränsat antal includes på en sida och att Dileno. en dag kanske skulle gå över den gränsen. Jag kunde ha kodat om rubbet igen, men sajten i sig tog så lång tid att underhålla och uppdatera, så jag lade ner den..