webForumDet fria alternativet

Registering...

ASP

2 svar · 203 visningar · startad av scoxi

Medlem sedan jan. 200460 inlägg
Frågan#1

Jag håller på att göra en liten skojsida för att testa lite kunskaper men jag är lite fast..

Det jag gör just nu är att man ska kunna registera sig & det ska läggas till i datorbasen. Det är inga problem. Däremot när jag ska fixa så att:

- användarnamnet inte redan finns i datorbasen
- så att alla värden är ifyllda
- och att båda lösenordsrutorna matchar varandra

blir det lite problem... en av dom kan jag fixa men när det blir flera vet jag inte riktigt hur jag ska göra..

Jag har börjat med att hämta värdena:

username = Request.Form("username")
firstname = Request.Form("firstname")
surname = Request.Form("surname")
personalnumber = Request.Form("personalnumber")
email = Request.Form("email")
password = Request.Form("password")
password2 = Request.Form("password2")

sen så vill/antar jag att jag ska kontrollera med en if-sats att alla dom 3 grejerna är rätt så ska den:

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\michel\anvandare.mdb"

sql = "INSERT INTO UserInformation (UserName, FirstName, SurName, Email, Personalnumber, Passw)"
sql = sql & " VALUES ('"& username &"','"& firstname &"','"& surname &"','"& email &"','"& personalnumber &"','"& password &"');"
connect.execute(sql)
connect.close

Ni får gärna komma med andra förslag på hur jag ska lösa detta på bästa sätt... jag är ganska ny :)

Medlem sedan okt. 20005 273 inlägg
#2
[red]
'En funktion som hjålper mot SqlInjections
Function FixIt(strToFix)
    strToFix = Replace(strToFix, "'", "''")
    strToFix = Replace(strToFix, "|", "")
    FixIt = strToFix
End Function

username = FixIt(Request.Form("username"))
firstname = FixIt(Request.Form("firstname"))
surname = FixIt(Request.Form("surname"))
personalnumber = FixIt(Request.Form("personalnumber"))
email = FixIt(Request.Form("email"))
password = FixIt(Request.Form("password"))
password2 = FixIt(Request.Form("password2"))

if username = "" OR firstname = "" OR surname = "" OR personalnumber = "" OR email = "" OR password = "" OR password2 = "" Then
     Reponse.Write "Du måste fylla i alla värden"
Else
     If password <> password2 Then
          Response.Write "Du har inte identiska lösenord"
     Else
          strSql = "SELECT username FROM UserInformation WHERE UserName = '"&username&"'
          Set CheckUser = connect.Execute(strSql)
          If CheckUser.EOF Then
               sql = "INSERT INTO UserInformation (UserName, FirstName, SurName, Email, Personalnumber, Passw)" sql = sql & " VALUES ('"& username &"','"& firstname &"','"& surname &"','"& email &"','"& personalnumber &"','"& password &"')"
              connect.execute(sql)
          Else
               Response.Write "Användarnamnet finns redan"
          End If
          connect.Close() : Set connect = Nothing
     End If
End If
[/red]

JAg tror den ska funka som du vill.

mv icaaq

Medlem sedan jan. 200460 inlägg
#3

Jag får ett fel....

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\michel\anvandare.mdb"

               sql = "INSERT INTO UserInformation ("UserName, FirstName, SurName, Email, Personalnumber, Passw") "sql = sql & " VALUES ('"& username &"','"& firstname &"','"& surname &"','"& email &"','"& personalnumber &"','"& password &"')"
              connect.execute(sql)

          connect.Close(sql)
		  Set Connect = Nothing

Jag valde att ta bort allt du skrev och testa ha så som de funka innan men de funkar inte heller :(

Fel:

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.
/michel/register.asp, line 15, column 37
sql = "INSERT INTO UserInformation ("UserName, FirstName, SurName, Email, Personalnumber, Passw") "sql = sql & " VALUES ('"& username &"','"& firstname &"','"& surname &"','"& email &"','"& personalnumber &"','"& password &"')"
271 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)