webForumDet fria alternativet

Ropa på samma funktion 2 ggr, går ej!!

ASP

7 svar · 395 visningar · startad av preben

Medlem sedan mars 2009452 inlägg
Frågan#1
--> open.asp

FUNCTION funcGetPWD(intLoop)
	' ## PASSWORD GENERATOR
	Randomize ' Initialize random-number generator.
	DO UNTIL i = CInt(intLoop)
		strPassword = strPassword & chr((25 * Rnd) + 65)
		i = i + 1
	LOOP
	funcGetPWD = strPassword
END FUNCTION

***
--> confirm.asp

tmpPW1 = funcGetPWD(6)
tmpPW2 = funcGetPWD(6)

Jag använder denna för att lägga in slumpade user + pw till databas. Men det är bara den första som fungerar!! Oavsett hur jag skriver.

Jag skrev tidigare..: strEmail & "','" & funcGetPWD(6) & "','" & funcGetPWD(6) & "', TRUE);"

Alltså, en vanlig INSERT.

Det fungerade inte heller.

Medlem sedan juni 20031 837 inlägg
#2

Var gör du själva insert-anropet?

Du får nog visa lite mer kod.

Medlem sedan mars 2009452 inlägg
#3
tmpPW1 = funcGetPWD(6)
tmpPW2 = funcGetPWD(6)
' ## INSERT USER
SQL2 = "INSERT INTO [users] (dteCreated, dteUpdated, dteLastVisit, strEmail, strDBUser, strDBPassword, bolDemo) VALUES(" _
& "#" & date() & "#,#" & date() & "#,#" & date() & "#,'" & strEmail & "','" & funcGetPWD(6) & "','" & funcGetPWD(6) & "', TRUE);"

Det är en vanlig INSERT...

Medlem sedan juni 20019 519 inlägg
#4

Kan du inte bara använda variablerna tmpPW1 och tmpPW2 istället för att köra samma funktion 4 ggr (ge 4 olika koder)?

Medlem sedan juni 20031 837 inlägg
#5

Var deklarerar du variabel i?
Kommer den ihåg sitt värde sedan förra gången funktionen körde?

Medlem sedan juni 20019 519 inlägg
#6

Eftersom din funktion har en variabel som heter strPassword och det kan ju vara så att du har dim:at en variabel utanför funktionen. och även variablen "i"

FUNCTION funcGetPWD(intLoop)
	' ## PASSWORD GENERATOR
[b]	Dim strPassword, i[/b]
	Randomize ' Initialize random-number generator.
	DO UNTIL i = CInt(intLoop)
		strPassword = strPassword & chr((25 * Rnd) + 65)
		i = i + 1
	LOOP
	funcGetPWD = strPassword
END FUNCTION
Medlem sedan mars 2009452 inlägg
#7

Alltså,... ursäkta mig, men jag har blandat kod på ett dumt sätt, inser jag.

tmpPW1 och tmpPW2 var test... jag ska inte ropa på samma sak fler gånger!! Två gånger räcker.

Variablerna är inte deklarerade. Koden är "AS-IT-IS", det du ser är vad det är.

Man kan göra så i ASP.

Medlem sedan juni 20019 519 inlägg
#8

Man kan göra så, men om du ha variablerna i och strPassword någon annanstans så kommer den ju bara bygga vidare på den, samt skall du alltid deklarera variabler oavsett om man kan ha det med eller utan.

267 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)