Håller på och testar hur det går till att bara fylla i sitt mail och då få mailet skickat till sin mail... har denna kod men den klagar på object krävs 'RSTemp'
det verkar som att den inte kopplas till databasen så här ser i a f koden ut:
<% If request.querystring("do") = "losen" then
on error resume next
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER=Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source="&server.mappath("databasem.mdb")
If Not Isnull(Request.Form("Email")) Then strEmail = Cstr(Request.Form("Email"))
mySQL = "SELECT name, losen, email FROM customers where email = '" &strEmail& "'"
set RSTemp = Connect.execute(mySQL)
Set CDOMail = Server.CreateObject("CDONTS.NewMail")
CDOMail.From = "losenord@blabla.com"
CDOMail.To = RSTemp("f_Mail")
CDOMail.Subject = "Ditt lösenord är = " &RSTemp("losen")& ""
CDOMail.Body = "Ditt lösenord"
CDOMail.Send
If error.number <> 0 Then
Response.Write "Lösenordet finn i din mail"
Else
Response.Write "Den angivna mailen finns ej registrerad"
End If
Set CDOMail = Nothing
End If
RSTemp.close
set RSTemp = nothing
connect.close
set connect = nothing
%>
Posten 'f_mail' som du försökte anropa finns inte i urvalet du gör mot databasen. Jag bytte namn på den.
Tog bort on error resume next också, det är inte bra att ha i felsökningssyfte.
<% If request.querystring("do") = "losen" then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER=Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source="&server.mappath("databasem.mdb")
If Not Isnull(Request.Form("Email")) Then strEmail = Cstr(Request.Form("Email"))
mySQL = "SELECT name, losen, email FROM customers where email = '" &strEmail& "'"
set RSTemp = Connect.execute(mySQL)
Set CDOMail = Server.CreateObject("CDONTS.NewMail")
CDOMail.From = "losenord@blabla.com"
[red]CDOMail.To = RSTemp("email")[/red]
CDOMail.Subject = "Ditt lösenord är = " &RSTemp("losen")& ""
CDOMail.Body = "Ditt lösenord"
CDOMail.Send
If error.number <> 0 Then
Response.Write "Lösenordet finn i din mail"
Else
Response.Write "Den angivna mailen finns ej registrerad"
End If
Set CDOMail = Nothing
End If
RSTemp.close
set RSTemp = nothing
connect.close
set connect = nothing
%>
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER=Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source="&server.mappathdatabase.mdb")
If NOT Request.Form("Email") = "" Then strEmail = Cstr(Request.Form("Email"))
else
response.write "du måste ange ngt"
end if
mySQL = "SELECT name, losen, email FROM customers where email = '" &strEmail& "'"
set RSTemp = Connect.execute(mySQL)
subject = "Ditt Lösenord"
recipient = strEmail
body = "Ditt lösenord är '" &RSTemp("losen")& "' "
' Skapar en koppling till JMail
set msg = Server.CreateOBject( "JMail.Message" )
msg.Logging = true
msg.silent = true
msg.From = senderEmail
msg.FromName = name
msg.AddRecipient recipient
msg.Subject = subject
msg.body = body
if not msg.Send("mail.server" ) then
Response.write "<pre>" & msg.log & "</pre>"
else
Response.write "Ditt meddelandet skickades! "
end if
RSTemp.close
set RSTemp = nothing
connect.close
set connect = nothing
får felmeddelandet:
Microsoft VBScript runtime error '800a01a8'
Object required: ''
/glomtLosen.asp, line 37
man anger sin email först i en textfield som heter Email, därefter läser jag in den i strEmail och mailet är tänkt att skickas till det angivna mailet så som koden visar: