Jeg ved at dette har været oppe at vende en gang, men tråden blev
aldrig færdig. Derfor prøver jeg, så vi måske kan finde
løsningen.
Jeg har en database med brugere. Når disse brugere har tilmeldt
sig, får de tilsendt en mail med brugernavn og kode. Men samtidig
vil jeg gerne have at de skal have et link for at aktivere deres
konto. Derfor tænkte jeg at man kunne lave en tabel som hedder
aktiver i databasen med fx værdien 1. Når de klikker på linket i
mailen, bliver de ført videre til en side (fx aktiver.asp) som
laver værdien om til 2. Når man så logger ind, kunne man tjekke
at denne værdi er sat til 2 for at man kan logge ind. Til linket
i e-mailen kunne man anvende lektion10 her fra siden. Så langt så
godt. Men hvordan det udføres i praksis kan jeg ikke selv hitte
ud af. Håber der er nogle som kan hjælpe med hvordan man opretter
linket i e-mailen, hvordan man laver værdien om på aktiver.asp
siden, og en tilføjelse i login scriptet som tjekker at værdien
er sat rigtigt.
Jeg har vedlagt min opret.asp side, så man kan se hvilke mail
system jeg anvender mm.
<%
strLogin = Request.Form("Login")
strPassword = Request.Form("Password")
strEmail = Request.Form("Email")
%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/vti_log/databasen.mdb")
Conn.Open DSN
strSQL = "Select * From bruger"
Set rs = Conn.Execute(strSQL)
strLogin = Request.Form("Login")
Do
if strLogin = rs("Login") THEN
Response.Redirect "findes.asp"
end if
rs.MoveNext
Loop While Not rs.EOF
strSQL = "Insert into bruger (Login, Password, Email) values('" &
Request.Form("Login") & "','" & Request.Form("Password") & "','"
& Request.Form("Email") & "')"
Conn.Execute(strSQL)
Dim Mailer
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = "FAST Klanen"
Mailer.FromAddress= "fast@tec-mtl.dk"
Mailer.RemoteHost = "smtpmail.activeisp.com"
Mailer.AddRecipient Request.Form("Login"), Request.Form("Email")
Mailer.Subject = "Tilmelding til FAST klanens site"
Mailer.BodyText = "Hej " & Request.Form("Login") & VbCrLf &
VbCrLf
Mailer.BodyText = "Dit brugernavn er: " & Request.Form("Login")
Mailer.BodyText = "Dit password er: " &
Request.Form("Password")
if Mailer.SendMail then
Response.Write "Tak for deres tilmelding. Alle informationer er
blevet sendt til deres e-mail adresse. Du kan nu deltage aktivt
på sitet og logge ind med dit indtastede brugernavn og
adgangskode som vist herunder:"
else
Response.Write "Der skete en fejl ved afsendelse af e-mail.
Skriv derfor nedenstående brugeroplysninger ned, da de ikke kan
sendes til deres e-mail som forventet. Fejlkode: " &
Mailer.Response
end if
' Fjern objekt igen
Set Mailer = Nothing
Conn.Close
Set Conn = Nothing
%>
NB. Prøvede den før omtalte tråd
(
http://www.html.dk/nyhedsgrupper/dk_edb_internet_webdesign_serve
rside_asp/default.asp?messageid=%3C41ae5ecb%240%2466405%241472629
8%40news%2Esunsite%2Edk%3E), men kan ikke engang få denne linie
til at virke:
Mailer.BodyText = "Tryk her for at aktivere:
www.ditdomæne.dk/aktiver.asp?email=" & request.form("email") & "
&pass="
& request.form("pass") & " din tilmelding."
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials