24. juni 2003 - 14:32
Der er
13 kommentarer og 1 løsning
Fuctions og return
Hej Jeg har denne funktion som ligger i filen validateUP.asp: Function validateUP(newUsername, newPassword, newPasswordConfirmed, numberOfMinCharacter) Dim strNewUsername Dim strNewPassword Dim strConfirmNewPassword Dim intNumberOfMinCharacter Dim intIsThere Dim intErrorNumber strNewUsername = Trim(Replace(newUsername,"'","")) strNewPassword = Trim(Replace(newPassword,"'","")) strNewPasswordConfirmed = Trim(Replace(newPasswordConfirmed,"'","")) intNumerIfMinCharacter = numberOfMinCharacter intIsThere = 0 intErrorNumber = 0 strSQL = "SELECT COUNT(brugernavn) AS isthere FROM spillere WHERE brugernavn = '"& strNewUsername &"'" set rs = conn.execute(strSQL) if rs("isthere") > 0 then intIsThere = 1 end if rs.close set rs = Nothing if strNewUsername = "" OR strNewPassword = "" OR strNewPasswordConfirmed = "" then intErrorNumber = 1 elseif intIsThere > 0 then intErrorNumber = 2 elseif strNewPassword <> strNewPasswordConfirmed then intErrorNumber = 3 elseif Len(strNewUsername) < 4 then intErrorNumber = 4 elseif Len(strNewPassword) < 4 then intErrorNumber = 5 else intErrorNumber = 0 end if return intErrorNumber End Function som jeg kalder således: <!--#incluse file="login/validateUP.asp"--> *<% intErrorNumber = validateUP(request.form("newusername"), request.form("newPassword"), request.form("newPasswordConfirmed"), 4) if CInt(intErrorNumber) = 0 then response.write "der var ingen fejl" else response.write "Der opstod en fejl - nr. " & intErrorNumber end if Hvad er der galt.... jeg får en type mismatch på linien markeret med * - kan en funktion ikke returnere et tal eller er den begrænset til booleans? Endvidere får jeg en fejl omkring at jeg ikke må anvende parateser når jeg kalder en sub - hvad er det for noget... har det noget at sige at jeg includer filen? /kovalt
Annonceindlæg fra Cognizant
Agentic AI kræver mere end teknologi
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Hvordan ser filen validateUP.asp ud? Skriv lige den præcise fejlbesked. Funktionen returnerer tilsyneladende ikke en int...
dette er alt der ligger i validateUP.asp: <% Function validateUP(newUsername, newPassword, newPasswordConfirmed, numberOfMinCharacter) Dim strNewUsername Dim strNewPassword Dim strConfirmNewPassword Dim intNumberOfMinCharacter Dim intIsThere Dim intErrorNumber strNewUsername = Trim(Replace(newUsername,"'","")) strNewPassword = Trim(Replace(newPassword,"'","")) strNewPasswordConfirmed = Trim(Replace(newPasswordConfirmed,"'","")) intNumerIfMinCharacter = numberOfMinCharacter intIsThere = 0 intErrorNumber = 0 strSQL = "SELECT COUNT(brugernavn) AS isthere FROM spillere WHERE brugernavn = '"& strNewUsername &"'" set rs = conn.execute(strSQL) if rs("isthere") > 0 then intIsThere = 1 end if rs.close set rs = Nothing if strNewUsername = "" OR strNewPassword = "" OR strNewPasswordConfirmed = "" then intErrorNumber = 1 elseif intIsThere > 0 then intErrorNumber = 2 elseif strNewPassword <> strNewPasswordConfirmed then intErrorNumber = 3 elseif Len(strNewUsername) < 4 then intErrorNumber = 4 elseif Len(strNewPassword) < 4 then intErrorNumber = 5 else intErrorNumber = 0 end if return intErrorNumber End Function %>
Skift return intErrorNumber ud med validateUP = intErrorNumber //>Rune
fejlen jeg får er: Microsoft VBScript runtime error '800a000d' Type mismatch changeUP.asp, line 20 og changeUP.asp ser således ud: <!--#incluse file="login/validateUP.asp"--> *<% intErrorNumber = validateUP(request.form("newusername"), request.form("newPassword"), request.form("newPasswordConfirmed"), 4) if CInt(intErrorNumber) = 0 then response.write "der var ingen fejl" else response.write "Der opstod en fejl - nr. " & intErrorNumber end if %>
Hvad for en linje er linje 20? //>Rune
den der er markeret med * 14:38:20 - som du ser bliver filen med funktionen inkluderet lige ovenover
intErrorNumber = validateUP request.form("newusername"), request.form("newPassword"), request.form("newPasswordConfirmed"), 4 Prøv sådan i stedet for (altså fjern paranteserne)
burde det med return ikke virke..... eller det måske ikke syntaxen i ASP
24. juni 2003 - 14:44
#10
Agh, det er fordi du har stavet include forkert! <!--#incluse file="login/validateUP.asp"--> skal være <!-- #include file="login/validateUP.asp" --> //>Rune
24. juni 2003 - 14:49
#11
Det er syntaxen for en JavaScript funktion, det er ikke VBScript syntax!
Sådan laver man en funktion i VB:
Function FunktionsNavn (strVariabel)
FunktionsNavn = "
http://" & strVariabel
End Function
strURL = FunktionsNavn("
www.medions.dk" )
Response.Write(strURL)
//>Rune
24. juni 2003 - 14:49
#12
hold kæft hvor træls en fejl.... typisk :-) Mht return - bruger man ikke i det under funktioner i ASP
24. juni 2003 - 14:49
#13
OK - mange tak for hjælpen
24. juni 2003 - 14:50
#14
;o) Thx 4 Poinz //>Rune
Kurser inden for grundlæggende programmering