Tycker din kod ser helt okej... det du skulle kunna göra istället för alla response.redirect göra en kontroll:
if Session("sError1") <> "" then
response.redirect "register.asp?vad=fel"
end if
1 svar · 285 visningar · startad av medialabs
Ni får ursäkta mig och följande kod. Detta är från 2003 när jag för första gången skapade en registreringssida för ett litet projekt jag gjorde. Och detta fungerade riktigt bra, men nu när jag behöver koden igen så känns den gammal och äcklig, kan ni hjälpa mig att skippa barlast som inte behövs och förminska och göra den allmänt duglig.
'########################################################################################################################
'############## -- Teckenkontroll och filtrering -- #####################################################################
Function HasBadChars(strTest)
Dim objRX
HasBadChars = False
Set objRX = New RegExp
objRX.IgnoreCase = True
objRX.Global = True
objRX.Pattern = "[!\x22#¤%&/\(\)=\?´`\|\½\\<>\+\}\{\$£,;:'\*¨\^~\[\]]"
If objRX.Test(strTest) Then HasBadChars = True
End Function
If HasBadChars(Trim(FixInject(Request.Form("username")))) or HasBadChars(Trim(FixInject(Request.Form("epost")))) or HasBadChars(Trim(FixInject(Request.Form("fname")))) or HasBadChars(Trim(FixInject(Request.Form("lname")))) Then
Session("sError1") = "<font color=""red"">* Du har angett ogiltiga tecken! *</font>"
response.redirect "register.asp?vad=fel"
End If
'########################################################################################################################
'############## -- Hämta in fälten från registreringssidan & skapa variabler för mailet -- ##############################
user = Trim(FixInject(Request.Form("username")))
fname = Trim(FixInject(Request.Form("fname")))
lname = Trim(FixInject(Request.Form("lname")))
epost = Trim(FixInject(Request.Form("epost")))
SenastLogin = "nej" '# -- Sätt in text för att se om användaren har loggat in --
fran = ""
arende = "Medialabs Plus Registrering!"
ip = Request.ServerVariables("REMOTE_ADDR")
'fromID = "Webbredaktionen"
'fromMess = "Vi på webbredaktionen hoppas att du kommer att få nytta av Medialabs Plus och allt vad den har att erbjuda."
'topicMess = "Välkommen till Medialabs Plus!"
'########################################################################################################################
'############## -- Kolla så att det är mer än 4 och mindre än 15 tecken i användarnamnet -- #############################
if len(user)<4 or len(user)>15 then
Session("sError1") = "<font color=""red"">* Endast 4 till 15 tecken i användarnamnet! *</font>"
response.redirect "register.asp?vad=fel"
end if
if len(fname)<2 or len(fname)>15 then
Session("sError1") = "<font color=""red"">* Endast 2 till 15 tecken i Förnamnet! *</font>"
response.redirect "register.asp?vad=fel"
end if
if len(lname)<2 or len(lname)>15 then
Session("sError1") = "<font color=""red"">* Endast 4 till 15 tecken i Efternamnet! *</font>"
response.redirect "register.asp?vad=fel"
end if
if len(epost)<5 or len(epost)>30 then
Session("sError1") = "<font color=""red"">* Endast 5 till 30 tecken i Epostadressen! *</font>"
response.redirect "register.asp?vad=fel"
end if
'########################################################################################################################
'############## -- Kolla så att fälten inte är tomma -- #################################################################
if user="" or epost="" or fname="" or lname="" then
Session("sError1") = "<font color=""red"">* Alla fält måste vara ifyllda! *</font>"
response.redirect "register.asp?vad=fel"
end if
'########################################################################################################################
'############## -- Funktion för att generera ett lösenord till användaren -- ############################################
Function Createpass(arg)
Dim vPasswd, i
const vPasschars = "qwertyuipkjhgfdsazxcvbnm23456789QWERTYUPLKJHGFDSAZXCVBNM"
Randomize
For i = 1 To arg
vPasswd = vPasswd & mid ( vPasschars, Int(rnd*Len(vPasschars))+1, 1 )
Next
Createpass = vPasswd
End Function
'########################################################################################################################
'############## -- Generera ett 10-siffrigt lösenord -- #################################################################
losenord = Createpass(10)
'########################################################################################################################
'############## -- Filtrerar bort ogiltiga tecken -- ####################################################################
Function FixInject(strSource)
FixInject = Replace(strSource, "'", "''")
End Function
'########################################################################################################################
Tycker din kod ser helt okej... det du skulle kunna göra istället för alla response.redirect göra en kontroll:
if Session("sError1") <> "" then
response.redirect "register.asp?vad=fel"
end if