Vad är det som är fel med koden nedan? prova med If Err_Message=EMPTY Then När jag testade med "If Err_Message=EMPTY" så blev det exakt likadant. Med "If IsNull(Err_Message)" så visades sidan med koden presis som om Err_Message inte var tomt och det var ju inte rätt. Ändrade i Internet Explorer:s inställningar över vilken sorts felmeddelande som skulle visas så att jag bättre kan se vad som är fel. Här har vi det nya felmeddelandet som kommer fram: Se man på. Det är just den raden jag trodde det var något fel med. Nämligen: Kör en insert istället. Testade med: Det hät var verkligen klurigt och inte har jag löst det än inte. Har dock ändrat lite. Så här ser koden ut nu: Testa med: Tack för att du finns JohanD.När ny record skall läggas till blir det "The page cann
Om Err_Message="" så skall några uppgifter skickas till databasen. Men det händer inte. Inte heller skickas man till bli_medlem_skicka.asp?sida=skicka utan sidan med koden nedan kan helt enkelt inte visas. "The page cannot be displayed" och "HTTP 500 - Internal server error
Internet Explorer" står det.
Vad är det som inte stämmer?
Koden:
<code>
' #### BEGIN ## Generate random password ####
Randomize
Str_Password=""
For x=1 to 10
Str_Password=Str_Password&Chr(Int(26*rnd)+65)
Next
Str_Password=Lcase(Str_Password)
' #### END ## Generate random password ####
strDSN = "DRIVER=databasen"
' #### BEGIN ## If no errors, create account ####
If Err_Message="" Then
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "medlemmar", strDSN, 3, 4
rs.AddNew
rs("fnamn")=Str_Fnamn
rs("enamn")=Str_Enamn
rs("username")=Str_Username
rs("losen")=Str_Password
rs("pnr")=Str_Pnr
rs("epost")=Str_Epost
If Len(Str_Epost_ok)<1 Then
rs("epost_ok")="0"
else
rs("epost_ok")=Str_Epost_ok
end if
rs("stad")=Str_Stad
rs("kon")=Str_kon
rs("datum")=Now()
rs.UpdateBatch
rs.close
set rs=nothing
Session("Mail_User_Username")=Str_Username
Response.Redirect "bli_medlem_skicka.asp?sida=skicka"
end if
' #### END ## If no errors, create account ####
end if
%>
</code>
Inte för att jag vet om det spelar någon roll men jag använder en MySQL-databas.Sv: När ny record skall läggas till blir det "The page
eller If IsNull(Err_Message) Then
who knows????Sv: När ny record skall läggas till blir det "The page
Så felet hade inte med det att göra. Jag tror det är något fel med själva lägga-till-i-databasen-koden. Men vad som är fel vet jag dock inte.
Kanske är det så att man inte kan skriva koden så när man använder MySQL-databas. Tja inte vet jag.
Eller är det här felet ligger (vad står 3:an och 4:an för?):
rs.Open "medlemmar", strDSN, 3, 4 Sv: När ny record skall läggas till blir det "The page
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.
/bli_medlem.asp, line 136 Sv: När ny record skall läggas till blir det "The page
<code>
rs.Open "medlemmar", strDSN, 3, 4
</code>
...det är nog så att man inte kan ha det så när man använder just MySQL.Sv: När ny record skall läggas till blir det "The page
DittConnectionObjekt.Execute "INSERT INTO tabellnamn(fältnamn1,fältnamn2)VALUES('sträng1',sträng2')"Sv: När ny record skall läggas till blir det "The page
<code>
If Err_Message="" Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open strDSN
If Len(Str_Epost_ok)<1 Then
strSQL = "INSERT INTO medlemmar (fnamn, enamn, username, losen, pnr, epost, epost_ok, stad, kon, datum)" & vbCrLf & _
"SELECT Str_Fnamn, Str_Enamn, Str_Username, Str_Password, Str_Pnr, Str_Epost, Str_Epost_ok, Str_Stad, Str_kon, " & Now()
else
strSQL = "INSERT INTO medlemmar (fnamn, enamn, username, losen, pnr, epost, epost_ok, stad, kon, datum)" & vbCrLf & _
"SELECT Str_Fnamn, Str_Enamn, Str_Username, Str_Password, Str_Pnr, Str_Epost, "0", Str_Stad, Str_kon, " & Now()
end if
Connect.Execute strSQL
Connect.Close
Set Connect = Nothing
set rs=nothing
Session("Mail_User_Username")=Str_Username
Response.Redirect "bli_medlem_skicka.asp?sida=skicka"
end if
</code>
Men man kan tydligen inte ha "0" som värde. Men tror inte det bara det är det som är fel. Hur skriver man. HJÄLP!!!Sv: När ny record skall läggas till blir det "The page
<code>
Str_Username=Request.Form("Username")&""
Str_Fnamn=Request.Form("Fnamn")&""
Str_Enamn=Request.Form("Enamn")&""
Str_dDay=Request.Form("dDay")&""
Str_dMonth=Request.Form("dMonth")&""
Str_dYear=Request.Form("dYear")&""
Str_Pnr=Request.Form("dYear") & "" & Request.Form("dMonth") & "" & Request.Form("dDay")
Str_Stad=Request.Form("stad")&""
Str_Kon=Request.Form("Kon")&""
Str_Epost=Request.Form("Epost")&""
Str_Epost_Ok=Request.Form("Epost_Ok")&""
</code>
<code>
strDSN = "databasen"
</code>
<code>
If Err_Message="" Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open strDSN
If Len(Str_Epost_ok)<1 Then
strSQL = "INSERT INTO medlemmar (fnamn, enamn, username, losen, pnr, epost, epost_ok, stad, kon, datum)" & vbCrLf & _
"SELECT " &Str_Fnamn& ", " &Str_Enamn& ", " &Str_Username& ", " &Str_Password& ", " &Str_Pnr& ", " &Str_Epost& ", '0', " &Str_Stad& ", " &Str_kon& ", " & Now()
else
strSQL = "INSERT INTO medlemmar (fnamn, enamn, username, losen, pnr, epost, epost_ok, stad, kon, datum)" & vbCrLf & _
"SELECT " &Str_Fnamn& ", " &Str_Enamn& ", " &Str_Username& ", " &Str_Password& ", " &Str_Pnr& ", " &Str_Epost& ", " &Str_Epost_ok& ", " &Str_Stad& ", " &Str_kon& ", " & Now()
end if
Connect.Execute strSQL
Connect.Close
Set Connect = Nothing
set rs=nothing
Session("Mail_User_Username")=Str_Username
Response.Redirect "bli_medlem_skicka.asp?sida=skicka"
end if
</code>
När jag kör koden så får jag följade felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[TCX][MyODBC]You have an error in your SQL syntax near '@hotmail.com, 1, 4, 0, 2003-02-02 22:45:11' at line 2
/bli_medlem.asp, line 149
På rad 149 står följande:
<code>
Connect.Execute strSQL
</code>Sv: När ny record skall läggas till blir det "The page
strSQL = "INSERT INTO medlemmar (fnamn, enamn, username, losen, pnr, epost, epost_ok, stad, kon, datum)" & vbCrLf & _
"VALUES('" & Str_Fnamn & "', '" & Str_Enamn & "', '" & Str_Username & "', '" & Str_Password & "', '" & Str_Pnr & "', '" & Str_Epost & "', '" & Str_Epost_ok & "', '" & Str_Stad & "', '" & Str_kon & "', '" & Now() & "')"
/JohanSv: När ny record skall läggas till blir det "The page
Det fungerar superbra.