webForumDet fria alternativet

kolla lösenord innan gå vidare ?

ASP

9 svar · 405 visningar · startad av Pellefant

Medlem sedan maj 20023 372 inlägg
Frågan#1

Ringrostig på ASP, SQL... ;-(

Har en sida med 6 formulärfält, varav ett fält är email och ett annat fält är lösenord.

Det finns en databastabell(access) med medlemmar där bla just email och lösenord finns.

Innehållet i de övriga fyra fälten kommer att åka in i en annan tabell, förutsatt att email och lösenord är rätt.

Har man fyllt i alla fälten(jag har ett javascript som ger en popup ruta om inte alla fält är ifyllda när man trycker på "skicka"), så vill jag först att det kollas i medlemstabellen om det finns en sådan email adress och i så fall om lösenordet matchar, om det stämmer gå vidare och lägga in övriga 4 saker i den andra tabellen, annars skriva ut att det är fel email och/eller lösenord.

Hoppas det inte var för magstarkt att fråga allt detta.

Tack på förhand.

Medlem sedan jan. 2002307 inlägg
#2

Nu snabbläste jag bara igenom detta pga stress..
Men du vill alltså kolla om man loggar in med rätt e-mail och rätt lösenord?
Isånnafall bordet det se ut såhär:
Öppna Recordset
öppna connect
öppna databas
SQL = "SELECT * From Users Where Email = '" & Request.Form("Email") "' And Password = '" & Request.Form("Password") & "'"

Set RecSet = Connect.Execute(SQL)
If RecSet.EOF Then
Response.write "Fel användarnamn eller lösenord"
Else
Gör det andra sakerna..
End IF

Medlem sedan maj 20023 372 inlägg
#3

Tack så hemskt mycket, nu har jag lite att gå på, så nu löser det sig nog.

*Tackar UnConed*

Medlem sedan maj 20002 597 inlägg
#4
Set rsUser = Server.CreateObject("ADODB.Recordset")

SQL = "Select f_Password from t_Members Where f_Epost='" & Request.Form("Epost") & "'"

rsUser.Open SQL,Connect,1,2

If rsUser.EOF Then

Response.Write "E-posten finns inte"

ElseIf rsUser("f_Password") <> Request.Form("Password") Then

Response.Write "Lösenordet är felaktigt"

Else

	Form1 = Request.Form("Form1")
	Form2 = Request.Form("Form2")
	Form3 = Request.Form("Form3")
	Form4 = Request.Form("Form4")

	
	strSQL = "INSERT INTO t_Table " _
	& "( f_Form1, Form2, f_Form3, Form4 ) " _
	& "VALUES( '" & Form1 & "', '" & Form2 & "', '" & Form3 & "', '" & Form4 & "' )"

	Connect.Execute( strSQL )

End If

rsUser.close
Connect.close

Har ej testat det.

Medlem sedan maj 20023 372 inlägg
#5

Hej igen! :)

Nu gör jag framsteg, har dock kört fast på en sak:

SQL = "SELET losenord FROM medlemmar WHERE email='" & Request.Form("email") & "'"

rsUser.Open SQL,Connect,adOpenStatic,adLockOptimistic

Det finns en tabell som heter medlemmar, email och losenord är kolumner i denna tabell)

Ger felmed:
ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

Men jag förstår inte varför, då datatypen i tabellen är "text", och i formuläret är det väl "text" automatiskt, alltså så borde de vara jämförbara, kommer ihåg att jag hade trubbel, när jag skulle jämföra två tal förut, och fick då sätta in "C(int)" eller liknande, finns det någon liknande lösning för text ?

Medlem sedan juni 200032 967 inlägg
#6

Min gissning är:
Du har glömt att inkludera adovbs.inc på sidan.
Det är i den filen konstanter som adOpenStatic och adLockOptimistic definieras.

I stället för att inkludera den filen kan du ju alltid använda konstanternas värden direkt (kan dem dock inte i huvudet), eller definiera endast de konstanterna du använder.

Mvh,

Medlem sedan maj 20023 372 inlägg
#7

Hej hopp!

Du gissade fel. :(

Allra först i koden för sidan har jag(utan några blanksteg, blankrader innan):
<% Response.Buffer = True %>
<!-- #include file="adovbs.inc" -->

Samt adovbs.inc ligger i samma mapp på servern.

Jag har även provat med:

rsUser.Open SQL,Connect,1,2

Men det ger samma resultat.

Tack ändå. :)

Medlem sedan maj 20023 372 inlägg
#8

Hej!

Efter en del klurande, så fungerar det med detta. :)

SQL = "SELECT * FROM medlemmar WHERE email = '" & Request.Form("email") & "' AND losenord = '" & Request.Form("losenord") & "'"

Medlem sedan juni 200032 967 inlägg
#9

Jag hade nog en liten snedkoppling i hjärnan. Jag ber om ursäkt om jag ledde in dig på fel spår.

Mvh,

Medlem sedan maj 20023 372 inlägg
#10

Ingen fara, man lär sig av misstagen också. :)

275 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)