webForumDet fria alternativet

Glömt lösenordet - Hur får jag in det nya krypterade lösenordet?

Databaser & SQL

13 svar · 715 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

bort.

Medlem sedan juni 20034 013 inlägg
#2

Det första är bara en vanlig SELECT. Det du söker efter är vilket användar-ID som har den inmatade e-postadressen...

SELECT användar-ID FROM tabellen WHERE e-postadressen = 'inmatat e-postadress'

Får du inget användar-ID så finns inte e-postadressen. Får du ett användar-ID så använder du ju det som villkor i UPDATE-satsen för att ändra lösenordet.

Medlem sedan mars 20023 686 inlägg
#3

bort.

Medlem sedan maj 200010 687 inlägg
#4

tydal skrev:

Det första är bara en vanlig SELECT. Det du söker efter är vilket användar-ID som har den inmatade e-postadressen...

SELECT användar-ID FROM tabellen WHERE e-postadressen = 'inmatat e-postadress'

Får du inget användar-ID så finns inte e-postadressen. Får du ett användar-ID så använder du ju det som villkor i UPDATE-satsen för att ändra lösenordet.

Eller så gör man en UPDATE med e-postadressen som parameter och kollar hur många rader som uppdaterades.

Medlem sedan juni 20034 013 inlägg
#5

Du har redan ConnectLosenord.Open på rad 56.

Medlem sedan juni 200032 967 inlägg
#6

Ta bort den raden. Dels är den helt felaktig, och dels har du redan öppnat ditt connectionobjekt.

RowsAffected kommer inte heller att innehålla något vettigt med en select-fråga, så skapa ett recordset istället.

Medlem sedan mars 20023 686 inlägg
#7

Efter att ha tagit bort rad 61 så verkar den fungera.. någotlunda, om jag skriver in en felaktig epostadress som jag vet inte finns i databasen så skickar den iaf ut ett lösenord till den, fast det inte finns något konto.

Och när jag klickar in min epostadress som finns så skickar den ut ett nytt lösenord, men den uppdaterar inte databasen med det nya... :l

Något jag missat?

Eller borde kanske fråga er. HUR hade ni gjort detta? Ni verkar ju lite mer pålästa än mig om sql,

Medlem sedan juni 200032 967 inlägg
#8

Skapa ett recordset istället, och kolla om det är tomt (EOF).

Medlem sedan mars 20023 686 inlägg
#9

bort.

Medlem sedan juni 200032 967 inlägg
#10

Om du skriver ut SQL-frågan så ser du att du gjort fel. :)

Medlem sedan mars 20023 686 inlägg
#11

@nders skrev:

Om du skriver ut SQL-frågan så ser du att du gjort fel. :)

Hur ser koden ut för att göra detta?

Känns som jag har tagit mig vatten över huvudet och håller på och drunknar. Tror jag lägger "Glömt lösenordet"-funktionen i malpåse så länge.

Medlem sedan mars 20023 686 inlägg
#12

bort.

Medlem sedan juli 20011 084 inlägg
#13

Vet inte riktigt hur ditt system fungerar, men måste ju höja ett varningens finger. Kan vem som helst ange en mail-adress och på så sätt byta lösenord för folk? Låter som det kan bli riktigt irriterande ifall det missbrukas. Det är ju bättre att man först måste godkänna ändringen via mail innan den träder i kraft. Och då kan man bara ignorera den ifall man själv inte ansökt.

PS. När du uppdaterar använder du FixInject på strängen "epost" till skillnad mot Request.Form("epost") som du använder när du hämtar userid.

Medlem sedan mars 20023 686 inlägg
#14

bort.

306 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
166 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)