26. oktober 2001 - 15:28
Der er
20 kommentarer og 3 løsninger
Kan disse Asp-filer flettes sammen?
Hej Eksperter Jeg har et bannersystem som ud fra en accessdatabase viser et random valgt banner, tæller antal visninger og antal klik. Det består af to asp-dokumenter: default.asp og redirect.asp default.asp genererer random og tæller antal visninger og sender til redirect.asp som tæller klik og redirecter til url\'en. Mit spørgsmål: Kan disse to asp-dokumenter flettes sammen til et dokument, med de samme funktioner selvfølgelig, og hvordan? Men i stedet for [redirect.asp?id=\" & rs(\"ID\") & \"] vil jeg gerne have [href=\'\" & rs(\"Url\") & \"] Altså i stedet for redirect-urlen skrives den \"rigtige\" url. Jeg håber godt nok i kan hjælpe mig derude, for det har godt nok givet mig grå hår :-( Source-Koder: \'--- default.asp - start ---------------- <%@ Language=VBScript %> <% set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"banner.mdb\") %> <HTML> <HEAD> </HEAD> <BODY> <% set rs = Server.CreateObject(\"ADODB.Recordset\") strRS = \"SELECT * from Banner\" rs.Open strRS, Conn, 1, 3 randomize linie = int(rs.RecordCount * rnd) rs.MoveFirst rs.Move(linie) rs(\"Shown\") = rs(\"Shown\") + 1 rs.Update Response.Write \"<a href=\'redirect.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><img src=\'\" & rs(\"Filename\") & \"\' alt=\'\" & rs(\"Description\") & \"\' border=\'0\'></a>\" & vbCrLf Response.Write \"<br>\" Response.Write \"Vist \" & rs(\"Shown\") & \" gang(e).<br>\" Response.Write \"\" & rs(\"Clicks\") & \" klik.\" rs.Close set rs = nothing Conn.Close set Conn = nothing %> </BODY> </HTML> \'--- default.asp - slut ------------------ \'--- redirect.asp - start ---------------- <%@ Language=VBScript %> <% set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"banner.mdb\") id = Request.QueryString(\"id\") set rs = Server.CreateObject(\"ADODB.Recordset\") rs.Open \"SELECT * FROM Banner WHERE ID=\" & id, Conn, 1, 3 rs(\"Clicks\") = rs(\"Clicks\") + 1 rs.Update url = rs(\"Url\") rs.Close set rs = nothing Conn.Close set Conn = nothing Response.Redirect(url) %> \'--- redirect.asp - slut -----------------
Annonceindlæg fra GlobalConnect
26. oktober 2001 - 15:42
#1
jeg kan godt se hvordan du kan ligge det hele i en fil, men din href vil så pege på default.asp?id=XX - går ikke ud fra at det kan bruges ?
26. oktober 2001 - 15:48
#2
Nej det tror jeg desværre ikke
26. oktober 2001 - 15:50
#3
så kan jeg desværre ikke se hvordan det kan gøres, det kan også gøres med javascript, men det giver stadig en underlig url... :-(
26. oktober 2001 - 16:30
#4
Hvorfor kan det ikke bruges at sætte id efter default.asp?ID=xx ??
26. oktober 2001 - 16:37
#5
Øhh, det kan det måske også alligevel.
26. oktober 2001 - 16:43
#6
dette burde vist virke, der kan være nogle småfejl, bruger normalt selv php... \'--- default.asp - start ---------------- <%@ Language=VBScript %> <% set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"banner.mdb\") %> id = Request.QueryString(\"id\") if id>0 then set rs = Server.CreateObject(\"ADODB.Recordset\") rs.Open \"SELECT * FROM Banner WHERE ID=\" & id, Conn, 1, 3 rs(\"Clicks\") = rs(\"Clicks\") + 1 rs.Update url = rs(\"Url\") rs.Close set rs = nothing Conn.Close set Conn = nothing Response.Redirect(url) end if <HTML> <HEAD> </HEAD> <BODY> <% set rs = Server.CreateObject(\"ADODB.Recordset\") strRS = \"SELECT * from Banner\" rs.Open strRS, Conn, 1, 3 randomize linie = int(rs.RecordCount * rnd) rs.MoveFirst rs.Move(linie) rs(\"Shown\") = rs(\"Shown\") + 1 rs.Update Response.Write \"<a href=\'default.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><img src=\'\" & rs(\"Filename\") & \"\' alt=\'\" & rs(\"Description\") & \"\' border=\'0\'></a>\" & vbCrLf Response.Write \"<br>\" Response.Write \"Vist \" & rs(\"Shown\") & \" gang(e).<br>\" Response.Write \"\" & rs(\"Clicks\") & \" klik.\" rs.Close set rs = nothing Conn.Close set Conn = nothing %> </BODY> </HTML> \'--- default.asp - slut ------------------
26. oktober 2001 - 16:45
#7
heh, der mangler <% og %> om min kode...
26. oktober 2001 - 16:46
#8
<% set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"banner.mdb\") %> <HTML> <HEAD> </HEAD> <BODY> <% set rs = Server.CreateObject(\"ADODB.Recordset\") strRS = \"SELECT * from Banner\" rs.Open strRS, Conn, 1, 3 randomize linie = int(rs.RecordCount * rnd) rs.MoveFirst rs.Move(linie) rs(\"Shown\") = rs(\"Shown\") + 1 rs.Update Response.Write \"<a href=\'default.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><img src=\'\" & rs(\"Filename\") & \"\' alt=\'\" & rs(\"Description\") & \"\' border=\'0\'></a>\" & vbCrLf Response.Write \"<br>\" Response.Write \"Vist \" & rs(\"Shown\") & \" gang(e).<br>\" Response.Write \"\" & rs(\"Clicks\") & \" klik.\" If Request.Querystring(\"id\") = 2 Then rs(\"Clicks\") = rs(\"Clicks\") + 1 rs.Update url = rs(\"Url\") Response.Redirect (url) End If %> </BODY> </HTML>
26. oktober 2001 - 16:47
#9
Hov det var vist det forkerte <% set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"banner.mdb\") %> <HTML> <HEAD> </HEAD> <BODY> <% set rs = Server.CreateObject(\"ADODB.Recordset\") strRS = \"SELECT * from Banner\" rs.Open strRS, Conn, 1, 3 randomize linie = int(rs.RecordCount * rnd) rs.MoveFirst rs.Move(linie) rs(\"Shown\") = rs(\"Shown\") + 1 rs.Update Response.Write \"<a href=\'test3.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><img src=\'\" & rs(\"Filename\") & \"\' alt=\'\" & rs(\"Description\") & \"\' border=\'0\'></a>\" & vbCrLf Response.Write \"<br>\" Response.Write \"Vist \" & rs(\"Shown\") & \" gang(e).<br>\" Response.Write \"\" & rs(\"Clicks\") & \" klik.\" If Request.Querystring(\"id\") >0 Then rs(\"Clicks\") = rs(\"Clicks\") + 1 rs.Update url = rs(\"Url\") Response.Redirect (url) End If %> </BODY> </HTML>
26. oktober 2001 - 16:51
#10
Så er der <% og %> om koden. \'--- default.asp - start ---------------- <%@ Language=VBScript %> <% set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"banner.mdb\") id = Request.QueryString(\"id\") if id>0 then set rs = Server.CreateObject(\"ADODB.Recordset\") rs.Open \"SELECT * FROM Banner WHERE ID=\" & id, Conn, 1, 3 rs(\"Clicks\") = rs(\"Clicks\") + 1 rs.Update url = rs(\"Url\") rs.Close set rs = nothing Conn.Close set Conn = nothing Response.Redirect(url) end if %> <HTML> <HEAD> </HEAD> <BODY> <% set rs = Server.CreateObject(\"ADODB.Recordset\") strRS = \"SELECT * from Banner\" rs.Open strRS, Conn, 1, 3 randomize linie = int(rs.RecordCount * rnd) rs.MoveFirst rs.Move(linie) rs(\"Shown\") = rs(\"Shown\") + 1 rs.Update Response.Write \"<a href=\'default.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><img src=\'\" & rs(\"Filename\") & \"\' alt=\'\" & rs(\"Description\") & \"\' border=\'0\'></a>\" & vbCrLf Response.Write \"<br>\" Response.Write \"Vist \" & rs(\"Shown\") & \" gang(e).<br>\" Response.Write \"\" & rs(\"Clicks\") & \" klik.\" rs.Close set rs = nothing Conn.Close set Conn = nothing %> </BODY> </HTML> \'--- default.asp - slut ------------------ En lille forklaring på hvad jeg har gjort hvis du skulle være i tvivl. URL\'en peger bare på default.asp i stedet for redirect.asp, og i default tjekker jeg så i starten om ID er sat til noget, hvis den er, så registreres clicket, og der redirectes. Ret simpelt. Mvh Kasper
26. oktober 2001 - 16:59
#11
t bliver til dette: Ændre din link: Response.Write \"<a href=\'default.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'> I default gør du dette: <%@ Language=VBScript %> <% set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"banner.mdb\") id = Request.QueryString(\"id\") if id <> \"\" then \'redirect her set rs = Server.CreateObject(\"ADODB.Recordset\") rs.Open \"SELECT * FROM Banner WHERE ID=\" & id, Conn, 1, 3 rs(\"Clicks\") = rs(\"Clicks\") + 1 rs.Update url = rs(\"Url\") rs.Close set rs = nothing Conn.Close set Conn = nothing Response.Redirect(url) else \'Normal default.asp kode her \'gammel deafult.asp kode her end if
26. oktober 2001 - 17:25
#12
Der er for såvidt alt sammen rigtig nok. Men... Jeg var nok for hurtig til at godkende default.asp?id=X. Er det ikke muligt at lave en [response.write url] i stedet for, og stadig \"huske\" id så klik registreres.
26. oktober 2001 - 17:35
#13
<% set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"banner.mdb\") %> <HTML> <HEAD> </HEAD> <BODY> <% set rs = Server.CreateObject(\"ADODB.Recordset\") strRS = \"SELECT * from Banner\" rs.Open strRS, Conn, 1, 3 randomize linie = int(rs.RecordCount * rnd) rs.MoveFirst rs.Move(linie) rs(\"Shown\") = rs(\"Shown\") + 1 rs.Update Response.Write \"<a href=\" & rs(\"url\") & \" target=\'_blank\'><img src=\'\" & rs(\"Filename\") & \"\' alt=\'\" & rs(\"Description\") & \"\' border=\'0\'></a>\" & vbCrLf Response.Write \"<br>\" Response.Write \"Vist \" & rs(\"Shown\") & \" gang(e).<br>\" Response.Write \"\" & rs(\"Clicks\") & \" klik.\" rs(\"Clicks\") = rs(\"Clicks\") + 1 rs.Update %> </BODY> </HTML>
26. oktober 2001 - 17:45
#14
Jeg er fuldt ud tilfreds. Rigtig god weekend til jer alle, og tak for hjælpen.
27. oktober 2001 - 00:16
#15
En kommentar til den sidste kode fra pepsi2 - den virker ikke - den tæller et click hver gang, ligegyldigt om der bliver trykket på banneret eller ej
27. oktober 2001 - 09:49
#16
Ja, det fandt jeg også ud af.
27. oktober 2001 - 12:05
#17
long_island_\'s svar 26/10 2001 16:51:07 er umiddelbart det bedste. Det fungerer i hverfald. Men kan det ikke laves uden redirect? hvor man bare trækker url\'en ud fra databasen. Men stadig tæller klik og visninger. Det skal b.la. bruges til diverse affilliate programmer hvor man skal bruge den eksakte url. Og så går det ikke med redirect, desværre. Jeg smider gerne nogle flere points efter den som kan løse det.
27. oktober 2001 - 12:39
#18
Om du bruger redirect eller href (for at skrive det simpelt) burde ikke give nogen som helst forskel...
27. oktober 2001 - 12:44
#19
Men nogle steder er det javascript koder der skal bruges. Derfor kan jeg ikke bare bruge href men er nødt til at hente hele url\'en/scriptet fra databasen
27. oktober 2001 - 12:50
#20
Ah, ok, kan du give et eksempel ? Så hopper jeg i tænkeboks
27. oktober 2001 - 12:57
#21
Ok
En udleveret kode kunne se nogenlunde sådan her ud:
<script language=\"JavaScript\" src=\"
http://dk.affilliatepartner.com/imp/kode/\"></script> Den kode ligger i kolonnen Url i databasen.
som så skal hentes med en response.write url.
Problemet er bare optællingen af klik og visning
27. oktober 2001 - 13:06
#22
den med scriptet kan jeg ikke lige hitte en løsning på :-(
27. oktober 2001 - 13:57
#23
Denne her virker, men tæller desværre ikke klik. Kan det flettes ind på en eller anden måde? <% set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"banner.mdb\") %> <HTML> <HEAD> </HEAD> <BODY> <% set rs = Server.CreateObject(\"ADODB.Recordset\") strRS = \"SELECT * from Banner\" rs.Open strRS, Conn, 1, 3 randomize linie = int(rs.RecordCount * rnd) rs.MoveFirst rs.Move(linie) rs(\"Shown\") = rs(\"Shown\") + 1 rs.Update Response.Write \"\" & rs(\"url\") & \"\" Response.Write \"<br>\" Response.Write \"Vist \" & rs(\"Shown\") & \" gang(e).<br>\" %> </BODY> </HTML>
Kurser inden for grundlæggende programmering