19. maj 2001 - 11:38Der er
15 kommentarer og 1 løsning
Ændre password
Jeg skal have lavet en slags form så man kan ændre sit password i et brugersystem.
Først skal man indtaste det nuværende password, det skal man så have sammenlignet med det der ligger i databasen, og hvis det er det samme, skal man kunne indtaste et nyt password. Gerne sådan at man indtaster det samme password i to textbokse, og så den sammenligner de to passwords, hvis de så er ens, bliver passwordet gemt i databasen.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Det virker ikke helt. Dette er det jeg har indtastet i koden: password = Request.form(\"password\") nytpass = Request.form(\"nytpass\")
SQL1 = \"Select password FROM mailingliste WHERE password = (\'\"&password&\"\') and id = \"& Session(\"login\") set records1 = conn.execute(SQL1)
If records1.bof and records1.eof then records1.close Response.redirect \"forkertpassword.asp\" End If
SQL2 = \"INSERT INTO mailingliste (password) VALUES (\'\"&nytpass&\"\') WHERE id = \"& Session(\"login\") conn.execute(SQL2)
Dette er den fejl jeg får: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement.
SQL1 = \"Select password FROM mailingliste WHERE password = (\'\"&password&\"\') and id =(\"& Session(\"login\")&\")\" set records1 = conn.execute(SQL1)
If records1.bof and records1.eof then records1.close Response.redirect \"forkertpassword.asp\" End If
SQL2 = \"INSERT INTO mailingliste (password) VALUES (\'\"&nytpass&\"\') WHERE id =(\"& Session(\"login\")&\")\" conn.execute(SQL2)
hviken linie kommer fejlen i. - jeg kan ikke hjælpe hvis jeg ikke ved om dine værdier password, mailingliste og id er tekst eller tal - og jeg skal også vide hvornår og til hvad du sætter din session(\"login\")
prøv at dobbeltjekke at navnene er identiske med din db og indsæt dette istedet for:
if nytpass = \"\" then response.write \"der mangler indhold\" else SQL2 = \"INSERT INTO mailingliste (password) VALUES (\'\"&nytpass&\"\') WHERE id = \"&Session(\"login\")&\"\" conn.execute(SQL2) end if
Jeg har selv lavet det på en anden måde, her er den:
Set rs = Server.CreateObject(\"ADODB.RecordSet\") strSQL = \"SELECT * FROM mailingliste WHERE id = \"& Session(\"login\") rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic if rs(\"password\") = Request.form(\"password\") then rs(\"password\") = Request.form(\"nytpass\") rs.Update rs.close Response.redirect \"default.asp?show=godkendt\" else%> <font face=\"Tahoma\" size=\"2\" color=\"000000\">Dit gamle password er ikke rigtigt.<br><a href=\"default.asp?show=retpass\">Prøv igen</a></font<% end if
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.