25. april 2003 - 12:52
#7
Jeg har desværre ret mange problemer med "Cannot call BinaryRead after using Request.Form collection.".
Du får lige hele koden her (den er lidt lang):
<%
Dim ID 'SpillerID
Dim spillerID
Dim validated
Dim VarEmail
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Driver={mySQL}; Server=localhost; Option=16834; Database=spillerdb;"
sub Billede
' IF Len(Request.Form("billede")) = NULL THEN
' strSQL = strSQL & " NULL,"
' ELSE
Dim mySmartUpload
Dim intCount
' dim ext
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.CodePage = "utf-8"
mySmartUpload.Upload
intCount = mySmartUpload.Save("/floorballplayers/images/profiler")
' ext = right(mysmartUpload.files.item(1).filename,3)
' mysmartUpload.files.item(1).saveas "/floorballplayers/images/profiler/" & spillerID & "." & ext
strSQL = strSQL & " '" & mysmartUpload.files.item(1).filename & "',"
Con.Execute strSQL
' END IF
end sub
sub birthdate
IF Len(Request.Form("birthdate")) = 0 THEN
validated = FALSE
ELSE
Dim bDate
bDate = DateValue(Request.Form("birthdate"))
strSQL = strSQL & " '" & Year(bDate) & "-" & Month(bDate) & "-" & Day(bDate) & "',"
END IF
end sub
sub firstname
IF Len(Request.Form("firstname")) = 0 THEN
validated = FALSE
ELSE
strSQL = strSQL & " '" & Replace(Request.Form("firstname"), "'", "''") & "',"
END IF
end sub
Sub lastname
IF Len(Request.Form("lastname")) = 0 THEN
validated = FALSE
ELSE
strSQL = strSQL & " '" & Replace(Request.Form("lastname"), "'", "''") & "',"
END IF
end sub
sub sex
strSQL = strSQL & " '" & Request.Form("køn") & "',"
end sub
sub telephone
IF Len(Request.Form("telefon")) = 0 THEN
strSQL = strSQL & " NULL,"
ELSE
strSQL = strSQL & " '" & Replace(Request.Form("telefon"), "'", "''") & "',"
END IF
end sub
sub mobile
IF Len(Request.Form("mobil")) = 0 THEN
strSQL = strSQL & " NULL,"
ELSE
strSQL = strSQL & " '" & Replace(Request.Form("mobil"), "'", "''") & "',"
END IF
end sub
sub email
IF Len(Request.Form("email")) < 6 OR InStr(Request.Form("email"),"@") = 0 THEN
validated = FALSE
ELSE
strSQL = strSQL & " '" & Replace(Request.Form("email"), "'", "''") & "',"
END IF
end sub
sub styrker
IF Len(Request.Form("styrker")) = 0 THEN
strSQL = strSQL & " NULL,"
ELSE
strSQL = strSQL & " '" & Request.Form("styrker") & "',"
END IF
end sub
sub fremtid
IF Len(Request.Form("fremtid")) = 0 THEN
strSQL = strSQL & " NULL,"
ELSE
strSQL = strSQL & " '" & Request.Form("fremtid") & "',"
END IF
end sub
sub andet
IF Len(Request.Form("andet")) = 0 THEN
strSQL = strSQL & " NULL,"
ELSE
strSQL = strSQL & " '" & Request.Form("andet") & "',"
END IF
end sub
sub profession
IF Len(Request.Form("profession")) = 0 THEN
strSQL = strSQL & " NULL,"
ELSE
strSQL = strSQL & " '" & Request.Form("profession") & "',"
END IF
end sub
sub hjemmeside
IF Len(Request.Form("hjemmeside")) = 0 THEN
strSQL = strSQL & " NULL,"
ELSE
strSQL = strSQL & " '" & Replace(Request.Form("hjemmeside"), "'", "''") & "',"
END IF
end sub
'Gem data
validated = TRUE
'Check om email adressen eksisterer i forvejen
'*********************************************
VarEmail = Replace(Request.Form("email"), "'", "''")
strSQL = "SELECT email FROM person"
set rs = con.execute(strSQL)
do while not rs.EOF
IF VarEmail = rs("email") THEN
validated = FALSE
END IF
rs.movenext
LOOP
'*********************************************
IF validated THEN
strSQL = " INSERT INTO person (picture, FDato, fornavn, efternavn, kønID, telefon, mobil, email, sprogID, nationalitetID,"
strSQL = strSQL & " positionID, skudsideID, kondition, slagskud, trækskud, pasninger, hurtighed, overblik, teknik,"
strSQL = strSQL & " dribling, holdånd, disciplin, taktik, fightervilje, styrker,"
strSQL = strSQL & " fremtid, andet, profession, ledig, DateAdded, hjemmeside, jobID)"
strSQL = strSQL & " VALUES ("
Call Billede
Call birthdate
Call firstname
Call lastname
Call sex
Call telephone
Call mobile
Call email
strSQL = strSQL & " '" & Request.Form("sprog") & "',"
strSQL = strSQL & " '" & Request.Form("nationalitet") & "',"
strSQL = strSQL & " '" & Request.Form("position") & "',"
strSQL = strSQL & " '" & Request.Form("skudside") & "',"
strSQL = strSQL & " '" & Request.Form("kondition") & "',"
strSQL = strSQL & " '" & Request.Form("slagskud") & "',"
strSQL = strSQL & " '" & Request.Form("traekskud") & "',"
strSQL = strSQL & " '" & Request.Form("pasninger") & "',"
strSQL = strSQL & " '" & Request.Form("hurtighed") & "',"
strSQL = strSQL & " '" & Request.Form("overblik") & "',"
strSQL = strSQL & " '" & Request.Form("teknik") & "',"
strSQL = strSQL & " '" & Request.Form("dribling") & "',"
strSQL = strSQL & " '" & Request.Form("holdaand") & "',"
strSQL = strSQL & " '" & Request.Form("disciplin") & "',"
strSQL = strSQL & " '" & Request.Form("taktik") & "',"
strSQL = strSQL & " '" & Request.Form("fightervilje") & "',"
Call styrker
Call fremtid
Call andet
Call profession
strSQL = strSQL & " '" & Request.Form("ledig") & "',"
strSQL = strSQL & " '" & Date() & "',"
Call hjemmeside
strSQL = strSQL & " '1')"
IF validated THEN
Con.Execute strSQL
strSQL = "SELECT spillerID AS ID, email FROM person WHERE"
strSQL = strSQL & " email = '"
strSQL = strSQL & VarEmail
strSQL = strSQL & "'"
set rs = con.execute(strSQL)
spillerID = rs("ID")
If Request.Form("klub") = "0" THEN
IF Len(Request.Form("nyklub")) = 0 THEN
validated = FALSE
ELSE
StrSQL = "INSERT INTO klub (klubnavn) VALUES ("
StrSQL = StrSQL & " '" & Replace(Request.Form("nyklub"), "'", "''") & "')"
Con.Execute strSQL
Dim klubID
StrSQL = "SELECT klubID FROM klub WHERE klubnavn = '" & Replace(Request.Form("nyklub"), "'", "''") & "'"
Set rs = con.Execute(StrSQL)
klubID = rs("klubID")
END IF
strSQL = "INSERT INTO klubdiv (spillerID, klubID, divisionID, nuværende)"
strSQL = strSQL & " VALUES ("
strSQL = strSQL & " '" & spillerID & "',"
strSQL = strSQL & " '" & klubID & "',"
strSQL = strSQL & " '" & Request.Form("division") & "',"
strSQL = strSQL & " '1')"
Set rs = con.Execute(StrSQL)
ELSE
strSQL = "INSERT INTO klubdiv (spillerID, klubID, divisionID, nuværende)"
strSQL = strSQL & " VALUES ("
strSQL = strSQL & " '" & spillerID & "',"
strSQL = strSQL & " '" & Request.Form("klub") & "',"
strSQL = strSQL & " '" & Request.Form("division") & "',"
strSQL = strSQL & " '1')"
Set rs = con.Execute(StrSQL)
END IF
strSQL = "INSERT INTO login (brugernavn, adgangskode, type, ID)"
strSQL = strSQL & " VALUES ("
IF Len(Request.Form("brugernavn")) = 0 THEN
validated = FALSE
ELSE
strSQL = strSQL & " '" & Replace(Request.Form("brugernavn"), "'", "''") & "',"
END IF
IF Len(Request.Form("adgangskode")) = 0 THEN
validated = FALSE
ELSE
strSQL = strSQL & " '" & Replace(Request.Form("adgangskode"), "'", "''") & "',"
END IF
strSQL = strSQL & " '1',"
strSQL = strSQL & " '" & spillerID & "')"
IF validated THEN
Con.Execute strSQL
Response.Write "Du har nu oprettet en profil!"
ELSE
Response.Write "Du mangler at udfylde noget. Gå tilbage og prøv igen..."
END IF
ELSE
Response.Write "E-mail adressen eksisterer allerede. Klik [her] hvis du har glemt dit brugernavn/adgangskode."
END IF
END IF
%>
Som du kan se bruger jeg request.form ret mange steder. Kan der mon gøres noget andet i stedet for? Det er vel det samme problem hvis jeg bruger request.querystring...