Lagra statistik på vissa länkar del 2
Förord
Välkommen till den andra och (antagligen) den sista artikeln i denna serie, i den här artikeln ska jag gå igenom hur du lösenordskyddar admin.asp & hur du tar bort statistiken på länkar som inte längre används. om du inte redan läst del 1 så rekommenderas du att göra det, för jag kommer inte att gå igenom den gamla koden en gång till.för att kunna logga in måste vi skapa en sida till den kallar vi login.asp.
Här kommer vi att göra en login sida där man för att komma vidare måste skriva in rätt lösenord!
Så här ska koden se ut:
Ja, vad är det som händer nu då?
Jo, först kollar vi vad besökaren vill, med hjälp av en querystring ifall den inte har nått värde vill användaren se formuläret. Sedan kollar vi om lösenordet är rätt är det de så sätter vi en session inloggad till "true" och skickar användaren vidare till admin.asp. Om lösenordet var falskt så skriver vi ut "Fel lösenord!!!".
Vi har en del ändringar att göra i admin.asp också först så ska du lägga till denna kodsnutt högst upp i admin.asp:
Den här koden kollar ifall användaren är inloggad, är han det så gör vi ingentig, annars skickar vi besökaren vidare till filen login.asp.
Vi fortsätter med ändringarna i admin.asp, nu ska du leta upp raderna:
Response.Write RS("Titel") & " - " & RS("klicks") & " har klickat på länken.<br>" och göra om dom så att de ser ut så här:
Det vi gjorde här var helt enkelt att lägga till en länk till den del av admin.asp som tar bort den länken ur databasen.
Nu ska vi till den sista förändringen, i admin.asp ska du lägga in denna kod precis efter formuläret:
Först deklarerar vi deleta som en RecordSet och andvänder SQL för att ta bort informationen ur databasen, och tillsist skickar vi användaren tillbaka till admin.asp. När alla ändringar i admin.asp är klara ska admin.asp se ut så här:
Login.asp
Här kommer vi att göra en login sida där man för att komma vidare måste skriva in rätt lösenord!Så här ska koden se ut:
<%
If request.querystring("do") = "" Then
'Besökaren vill se formuläret
%>
<%
ElseIf request.querystring("do") = "kollapass"
'besökaren vill logga in
If request.form("pass") = "Ditt_lösenord" Then
'Lösenordet var rätt
Session("inloggad") = "True"
Response.Redirect "admin.asp"
Else
'fel lösenord
Response.Write "Fel lösenord!!!"
End If
End If
%>
Ja, vad är det som händer nu då?
Jo, först kollar vi vad besökaren vill, med hjälp av en querystring ifall den inte har nått värde vill användaren se formuläret. Sedan kollar vi om lösenordet är rätt är det de så sätter vi en session inloggad till "true" och skickar användaren vidare till admin.asp. Om lösenordet var falskt så skriver vi ut "Fel lösenord!!!".
admin.asp
Vi har en del ändringar att göra i admin.asp också först så ska du lägga till denna kodsnutt högst upp i admin.asp:
<%
If Not Session("inloggad") = "True" Then
Response.Redirect "login.asp"
End If
%>
Den här koden kollar ifall användaren är inloggad, är han det så gör vi ingentig, annars skickar vi besökaren vidare till filen login.asp.
Vi fortsätter med ändringarna i admin.asp, nu ska du leta upp raderna:
Response.Write RS("Titel") & " - " & RS("klicks") & " har klickat på länken.<br>" och göra om dom så att de ser ut så här:
Response.Write RS("Titel") & " - " & RS("klicks") & " har klickat på länken Ta bort
"
Det vi gjorde här var helt enkelt att lägga till en länk till den del av admin.asp som tar bort den länken ur databasen.
admin.asp
Nu ska vi till den sista förändringen, i admin.asp ska du lägga in denna kod precis efter formuläret:
<%
ElseIf request.querystring("do") = "tabort" Then
Set delete = Server.CreateObject("ADODB.RecordSet")
'Ta bort info
Set delete = Conn.Execute("DELETE FROM links WHERE ID =" & request.querystring("id") & ")
'Skicka användaren till admin.asp
Response.Redirect "admin.asp"
%>
Först deklarerar vi deleta som en RecordSet och andvänder SQL för att ta bort informationen ur databasen, och tillsist skickar vi användaren tillbaka till admin.asp. När alla ändringar i admin.asp är klara ska admin.asp se ut så här:
<%
'kolla om användaren är inloggad
If Not Session("inloggad") = "True" Then
Response.Redirect "login.asp"
End If
%>
<%
'Kolla vad som ska göras
If request.querystring("do") = "" Then
Response.Write "Statistik
"
'Koppla till databasen
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
Conn.Open "Driver={Microsoft access driver (*.mdb)};dbq=" & Server.MapPath("links.mdb")
'Skriv ut statistiken
Sql = "Select * from links"
Set RS = Conn.Execute(Sql)
Do Until RS.Eof
Response.Write RS("Titel") & " - " & RS("klicks") & " har klickat på länken Ta bort
"
RS.MoveNext
Loop
'Skriv ut en länk till Lägg till ny
Response.Write "Lägg till en ny länk"
'Kolla om användaren vill se formuläret
ElseIf request.querystring("do") = "visa_form" Then
'skriv ut formuläret
%>
<%
ElseIf request.querystring("do") = "tabort" Then
Set delete = Server.CreateObject("ADODB.RecordSet")
'Ta bort info
Set delete = Conn.Execute("DELETE FROM links WHERE ID =" & request.querystring("id") & ")
'Skicka användaren till admin.asp
Response.Redirect "admin.asp"
%>
<%
Else
'lägg till informationen
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
Conn.Open "Driver={Microsoft access driver (*.mdb)};dbq=" & Server.MapPath("links.mdb")
Sql = "Select * from links"
RS.Open Sql, Conn, adOpenStatic, adLockOptimistic
RS("Titel") = request.form("titel")
RS("url") = request.form("url")
RS.Update
RS.Close
Conn.Close
'skriv ut url:en som man ska länka till
Set RS2 = Server.CreateObject("ADODB.RecordSet")
Sql2 = Select * from links WHERE url = "' & request.form("url") & "'"
Set RS2 = Conn.Execute(Sql2)
Response.Write "Nu ska du länka till: ut.asp?id=" & RS2("ID")
End If
%>
0 Kommentarer