Avatar billede Slettet bruger
16. juni 2003 - 23:33 Der er 2 kommentarer og
1 løsning

rs.AddNew

Jeg er i gang med et bruger-system på www.balladefis.dk, og jeg bruger følgende når brugere tilmelder sig:

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM [users]", Conn, 1, 3
rs.AddNew
rs("registered") = Now()
rs("IP") = Request.ServerVariables("REMOTE_ADDR")
rs("brugernavn") = request.form("username")
rs("password") = request.form("kodeord")
rs("email") = LCase(request.form("email"))
rs("postnummer") = request.form("postnummer")
rs("nyhedsbrev") = request.form("nyhedsbrev")
rs.Update

Nu vil jeg gerne ha, at der skal blive sendt en email til folk, som indeholder et link. Dette link aktiverer ens konto, og jeg har tænkt mig at lave det således:

Når der bliver added en ny bruger, så skal man på en eller anden måde få fat i brugerens ID, som lige er blevet oprettet i databasen (autonumber). Derefter bliver der sendt en email via Jmail. F.eks., så skal den få følgende informationer fra det nye ID:

-brugernavn
-password
-email
-ID

<a href="godkendelse_via_email.asp?bruger=<%=rs("brugernavn")%>&password=<%=rs("kodeord")%>&email=<%=rs("email")%>&ID=<%=rs("ID")%>">Klik her for at bekræfte</a>

Denne lille kode skal sendes til brugeren ligeså snart han/hun opretter sig. rs-informationerne skal hentes fra det nye ID som er blevet tildelt til brugeren ved oprettelsen. Når han modtager emailen, så vil ovenstående kode stå i mailen. Hvis han klikker der, har jeg tænkt mig at gøre følgende:

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM users WHERE id = " & Request("ID"), Conn, 1, 1
strID = rs("ID")
if rs("ID") <> request("ID") OR rs("brugernavn") <> request("brugernavn") OR rs("kodeord") <> request("password") then response.redirect("error.asp")

Nu bliver der checked om alle de informationer stemmer med dem i databasen. Hvis de stemmer, så:

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/database.mdb")
Conn.Open DSN
strSQL = "Update users set "
        strSQL = strSQL & "accepted='ja'"
        strSQL = strSQL & " where ID = " & strID
Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing
response.redirect("godkendt.asp")

nu vil den opdatere et felt i databasen (ud fra brugerens ID), og brugeren kan nu derfor logge ind, da feltet er "ja" og ikke "nej".

Håber I forstår hvad jeg mener med dette. Men i såfald:

1. Er det en sikker måde at gøre det på? (email-bekræftelse)
2. Hvordan får man fat i ID'en fra rs.AddNew?
3. Er der andre måder at lave email-bekræftelse på?
Avatar billede eagleeye Praktikant
16. juni 2003 - 23:46 #1
Du kan få ID efter rs.Update:

rs.Update
id = rs("ID")

Her er et ligne spørgsmål. Ja det er en mulighed at sende enten brugernavn eller ID. Eller evt som dette spørgsmål hvor han gemmer et streng på 10 tilfældige karakter for man ikke bare lige kan gætte linket ?id=23
http://www.eksperten.dk/spm/359323
Avatar billede loukas Mester
16. juni 2003 - 23:51 #2
Jeg mener du kan hente sidst oprettede id således:

Set RS = objConn.Execute( "SELECT @@IDENTITY" )
LigeOprettetId = RS(0)
RS.Close

Ellers synes jeg da det ser fornuftigt ud at lave bekræftelsen som du gør ;-)
Avatar billede Slettet bruger
17. juni 2003 - 00:27 #3
tak for hjælpen mht random password :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen

Forsvarets Efterretningstjeneste

Linux Infrastructure Specialist

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Driftsstærk IT-profil til Forsvarsministeriets Materiel- og Indkøbsstyrelse