Novis inom detta som jag är undrar jag hur man gör för att få variabeln pass att anta lösenordfunktionens värde då man valt att inte fylla i något från formulärrutan user? problemet är vad som ska stå i den första If-statsen efter ElseIf Len("pass") < 1 Then.
<%
Function getRandomPassword(ByVal iNoChars)
Dim sChars, sPassword
Dim i
Randomize(Timer())
sChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
For i = 1 to iNoChars
sPassword = sPassword & Mid(sChars, Rnd * Len(sChars) + 1, 1)
Next
getRandomPassword = sPassword
End Function
Dim surname, lastname, email, pass, user, desc
surname = Request.Form("surname")
lastname = Request.Form("lastname")
email = Request.Form("email")
user = Request.Form("user")
pass = Request.Form("pass")
desc = Request.Form("desc")
If Len("user") < 1 Then
session("no") = "Du måste ange ett användarnamn"
Response.Redirect("account.asp")
ElseIf Len("pass") < 1 Then
pass = getRandomPassword(8)
End If
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\databas.mdb"
sqlstmt = "SELECT * FROM account WHERE username = '" & user & "'"
set rs = Connection.Execute(sqlstmt)
IF rs.EOF Then
sqlstmt = "INSERT INTO account ([username], [password], [surname], [lastname], [email], [description]) VALUES ('" & user & "', '" & pass & "', '" & surname & "', '" & lastname & "', '" & email & "', '" & desc & "')"
Connection.Execute(sqlstmt)
Else
Session("no") = "Användarnamnet är upptaget, var god välj ett annat."
Response.Redirect("account.asp")
End If
rs.close
Connection.Close
%>
Nu vet vi med all säkerhet att variabeln pass är tom, men jag är inte klokare av att jag vet det....
Har ni någon aning? provade att köra funktionen i en separat fil och med följande kod:
<%
Function getRandomPassword(ByVal iNoChars)
Dim sChars, sPassword
Dim i
Randomize(Timer())
sChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
For i = 1 to iNoChars
sPassword = sPassword & Mid(sChars, Rnd * Len(sChars) + 1, 1)
Next
getRandomPassword = sPassword
End Function
Response.Write getRandomPassword(8)
%>