webForumDet fria alternativet

Glömt lösen och kolla användarnamn

ASP

4 svar · 380 visningar · startad av Online_do

Medlem sedan mars 2001136 inlägg
Frågan#1

Två frågor:
1. Jag har ett formulär som man kan fylla i och bli medlem. Det kollar även så att allt är ifyllt. Men hur gör man så att inte två personer registrerar samma användarnamn?

2. Hur gör man en glömt-lösenord-mail funktion. Alltså ifall man har glömt sitt lösenord så ska man bara behöva fylla i sitt användarnamn så skickas ett mail med sitt lösenord?

Hoppas att ni förstod. Annars får ni fråga.

------------------
What is he doing?...

Medlem sedan dec. 19998 577 inlägg
#2

1. Fråga databasen om namnet finns:

SQL = "Select * from tabell where namn = '"&Request.Form("namn")&"'"

Får du ett resultat, då finns namnet redan...

2. Samma här, fråga databasen efter namnet (se ovan), där får du ju med emailadressen. Använd sedan en mailkomponent för att skicka till den adressen.

------------------
webEye.nu SweQuake.com

[Redigerat av Vide den 02 apr 2001]

Medlem sedan mars 20002 836 inlägg
#3
strSQL = "SELECT * FROM TBL_MEDLEMMAR WHERE FLD_ANV_NAMN = '" & strAnvNamn & "'"

Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.Open strSQL, objConn, 3, 3

If objRS.EOF Then
	'## -- användarnamnet är ledigt 
	'## -- lägg till ny medlem --
	objRS.AddNew
	objRS("FLD_ANV_NAMN") = strAnvNamn
	objRS.Update
Else
	'## -- användarnamn upptaget --
	Response.Write "Användarnamnet är redan upptaget."
End If

	objRS.Close
Set objRS = Nothing

objConn.Close
SEt objConn = NOthing

.. brukar jag använda mig av vid registreringar ..

Fråga 2 kan du få svar på om du söker i forumet på CDONTS eller JMail eller någon annan email-komponent. Vet att det finns massor med svar i ämnet.

cya,
PatrikB

------------------
Ingenting är omöjligt.
Det omöjliga tar bara något längre tid att genomföra.

Medlem sedan juli 2000534 inlägg
#4

1.

strConn = "driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("databasen.mdb")
strSQL = "SELECT user_id FROM tabellen WHERE user_id='"& Request.Form("user_id") &"'"
Set rsFoo = Server.CreateObject("ADODB.RecordSet")
rsFoo.Open strSQL, strConn

If rsFoo.BOF = -1 AND rsFoo.EOF = -1 Then
Response.Write("Namnet är ledigt!")
Else
Response.Write("Namnet är upptaget!")
End If
rsFoo.Close: Set rsFoo = Nothing

Med koden ovan körs en SELECT där den hämtar alla poster där user_id är lika med det besökaren fyller i. Om Recordsetet är tomt så vet vi att det inte finns nån användare med det aktuella namnet.

---

2. Du hämtar först användarens mailadress och lösenord från databasen med en SQL-sats, något i stil med:

strSQL = "SELECT email, password FROM tabellen WHERE user_id='"& Request.Form("user_id") &"'"

Sedan använder du en lämplig mailkomponent för att skicka iväg ett mail till adressen med lösenordet.

Fråga igen om du behöver mer hjälp...

------------------
/Morph

Wilhelm Tell? Var det inte han som sköt ett äpple genom huvudet på sin son?" - Hardy Hawk

Medlem sedan juli 2000534 inlägg
#5

humm, inte bara en utan TVÅ personer som hann före :)

------------------
/Morph

Wilhelm Tell? Var det inte han som sköt ett äpple genom huvudet på sin son?" - Hardy Hawk

253 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)