/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Aktivering af bruger fra database via e-ma~
Fra : Thomas K


Dato : 05-12-04 15:54

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

 
 
pepss (06-12-2004)
Kommentar
Fra : pepss


Dato : 06-12-04 20:20


"Thomas K" skrev

> 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.

mailen ville jeg lave sådan (jeg går du fra du også har et idnummer til
brugeren):

Mailer.BodyText = "Hej " & Request.Form("Login") & VbCrLf & "Dit
brugernavn er: " & Request.Form("Login") & "Dit password er: " &
Request.Form("Password") & "<a href=""http://www.domene.dk/aktiver.asp?id="
& rs("idnummer") & "&password=" & Request.Form("Password") & ">aktivere din
konto</a>

> Derfor tænkte jeg at man kunne lave en tabel som hedder
> aktiver i databasen med fx værdien 1.

hvorfor ikke bare ha den i samme som brugerne?

> 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.

det ville jeg lave sådan:


strid = Request.Querystring("id")
strpassword = Request.Querystring("password")

strSQL = "Select idnummer From bruger Where idnummer = '" & strid & "' AND
password = '" & strpassword "'"
Set rs = Conn.Execute(strSQL)

If rs.EOF Then
Response.Write "ikke snyde"
else
strSQL = "Update bruger set aktiv = '2' Where idnummer = '" & strid & "'
AND password = '" & strpassword "'"
Set rs = Conn.Execute(strSQL)
end if


håber du kan få nogle idéer af det!



--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk
De frække noveller www.novelle.cafe-flirt.dk



Thomas K (07-12-2004)
Kommentar
Fra : Thomas K


Dato : 07-12-04 17:32

Thx Pepss. Vil prøve at lege med det. Men vender nok lige tilbage hvis jeg
støder på nogle komplekse situationer

--
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

Thomas K (07-12-2004)
Kommentar
Fra : Thomas K


Dato : 07-12-04 22:55

Hej pepss,

Jeg har prøvet det link til mailen, men der er en af tingene jeg ikke kan få
til at virke. Det drejer sig om rs("ID"). Min database har ID til brugerne,
stavet med store bogstaver. Kan du se om jeg mangler et eller andet i scriptet,
siden den ikke vil acceptere det. Den siger bare at sige ikke kan findes.
Resten virker ellers fint, da jeg har fjernet rs("ID") og forsøgt med held.

<%
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")
Mailer.BodyText = "http://www.domene.dk/aktiver.asp?id=" & rs("ID") &
"&password=" & 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


%>

--
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

pepss (08-12-2004)
Kommentar
Fra : pepss


Dato : 08-12-04 14:04


"Thomas K" skrev

> Jeg har prøvet det link til mailen, men der er en af tingene jeg ikke kan
> få
> til at virke. Det drejer sig om rs("ID"). Min database har ID til
> brugerne,
> stavet med store bogstaver. Kan du se om jeg mangler et eller andet i
> scriptet,
> siden den ikke vil acceptere det. Den siger bare at sige ikke kan findes.
> Resten virker ellers fint, da jeg har fjernet rs("ID") og forsøgt med
> held.

prøv at udskrive din SQL-sætning. du kan se hvordan man gør det her:
http://asp-faq.dk/article/?id=41


--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk
De frække noveller www.novelle.cafe-flirt.dk



Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408803
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste