Find en fejl....

Tags:    asp

<< < 12 > >>
Jeg har en side hvor man kan få tilsendt sit password hvis man har glemt det...
(se http://silkejob.dk/default.asp?s=GlemtLogin )
Den som hedder firma virker fint nok men det som hedder privat er der noget galt med.. Og det undre mig for jeg kan ikke se at de skulle være forskellige.. Når man her er koden for privat(har indsat **** der hvor der er nogle følsomme oplysninger.. dem skal i ikke tage jer af)
Fold kodeboks ind/udKode 


Fejlen ser sådan ud.
Fold kodeboks ind/udKode 


Databasen hedder database.mdb og i den ligger en tabel som hedder privat..

Skal lige sige at linie 433 i privat.asp er (den nederste linie er 433)
Fold kodeboks ind/udKode 


Er der nogen der kan se hvad der skulle være galt???



18 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Det der allerede står på siden
Fold kodeboks ind/udKode 


Og så din løsning...
Fold kodeboks ind/udKode 


Din løsning gør det ikke bedre..



Det der allerede står på siden
Fold kodeboks ind/udKode 


Og så din løsning...
Fold kodeboks ind/udKode 


Din løsning gør det ikke bedre..


du skal jo ikke tjecke "globalt" med min script... det skal du gøre inden du starter din JMail op, eller inden du tilføjer en bruger, og hvis denne er tom, jammen hvorfor så tilføje? det var dét der var meningen...

Casper



Forstår ikke lige hvad du siger.. Som du kan se her

så leder den efter en bruger som den kan sende emailen til...

Men jeg skal have den til at gøre sådan at hvis brugeren ikke findes, altså hvis feltet i tabellen er tom, så skal den springe det over med at sende en maill......

[pre]

<% if s = "PrivatGlemtHent" then

strusername = Trim(Request.Form("brugernavn"))
strmail = Trim(Request.Form("email"))

If len(strusername) = 0 Then

If len(strmail) = 0 Then

Response.Clear
Response.Redirect ("default.asp?s=GlemtLogin")

Else
Response.write ("Du søgte på")
Response.write "<b>"
Response.write " " & (strmail)
Response.write "</b><br><br>"
strmail = Replace(strmail,"'","''")

End if

Else

Response.write ("Du søgte på")
Response.write "<b>"
Response.write " " & (strusername)
Response.write "</b><br><br>"
strusername = Replace(strusername,"'","''")

End if

Set Conn = Server.CreateObject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")
Conn.Open strDSN

strSQL = "SELECT * FROM privat WHERE "
strSQL = strSQL & " (pbrugernavn LIKE '%" & Request.form("brugernavn") & "%')"
strSQL = strSQL & " and (Pemail LIKE '%" & Request.form("email") & "%')"
Set RS = Conn.Execute(strSQL)

If Not rs.BOF Or rs.EOF Then

else
response.write ("Der opstod en fejl.")
Response.END
end if

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set JMail = Server.CreateObject("****.*******")
JMail.ServerAddress = ("**-**.******.***")
JMail.Sender = "support@silkejob.dk"
JMail.SenderName = "Silkejob.dk"
JMail.Subject = "Glemt password"
JMail.AddRecipient rs("pemail")
JMail.Body = "Hej " & rs("Pnavn") & vbCrLf & vbCrLf
JMail.Body= JMail.Body + "Dit brugernavn til silkejob.dk er: " & rs("Pbrugernavn") & vbCrLf & "Dit password er: " & rs("ppassword")& vbCrLf & vbCrLf
JMail.Body= JMail.Body + "Med Venlig Hilsen" & vbCrLf & vbCrLf & "SilkeJob.dk" & vbCrLf
' 1 - highest priority (Urgent)
' 3 - normal
' 5 - lowest
JMail.Priority = 3
JMail.Execute

Response.write ("Dine loginoplysninger er nu sendt til din mail.")
end if



rs.Close
set rs = nothing
conn.Close
set Conn = Nothing

end if %>



Forstår ikke lige hvad du siger.. Som du kan se her

så leder den efter en bruger som den kan sende emailen til...

Men jeg skal have den til at gøre sådan at hvis brugeren ikke findes, altså hvis feltet i tabellen er tom, så skal den springe det over med at sende en maill......

[pre]

<% if s = "PrivatGlemtHent" then

strusername = Trim(Request.Form("brugernavn"))
strmail = Trim(Request.Form("email"))

If len(strusername) = 0 Then

If len(strmail) = 0 Then

Response.Clear
Response.Redirect ("default.asp?s=GlemtLogin")

Else
Response.write ("Du søgte på")
Response.write ""
Response.write " " & (strmail)
Response.write "
"
strmail = Replace(strmail,"'","''")

End if

Else

Response.write ("Du søgte på")
Response.write ""
Response.write " " & (strusername)
Response.write "
"
strusername = Replace(strusername,"'","''")

End if

Set Conn = Server.CreateObject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")
Conn.Open strDSN

strSQL = "SELECT * FROM privat WHERE "
strSQL = strSQL & " (pbrugernavn LIKE '%" & Request.form("brugernavn") & "%')"
strSQL = strSQL & " and (Pemail LIKE '%" & Request.form("email") & "%')"
Set RS = Conn.Execute(strSQL)

If Not rs.BOF Or rs.EOF Then

else
response.write ("Der opstod en fejl.")
Response.END
end if

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set JMail = Server.CreateObject("****.*******")
JMail.ServerAddress = ("**-**.******.***")
JMail.Sender = "support@silkejob.dk"
JMail.SenderName = "Silkejob.dk"
JMail.Subject = "Glemt password"
JMail.AddRecipient rs("pemail")
JMail.Body = "Hej " & rs("Pnavn") & vbCrLf & vbCrLf
JMail.Body= JMail.Body + "Dit brugernavn til silkejob.dk er: " & rs("Pbrugernavn") & vbCrLf & "Dit password er: " & rs("ppassword")& vbCrLf & vbCrLf
JMail.Body= JMail.Body + "Med Venlig Hilsen" & vbCrLf & vbCrLf & "SilkeJob.dk" & vbCrLf
' 1 - highest priority (Urgent)
' 3 - normal
' 5 - lowest
JMail.Priority = 3
JMail.Execute

Response.write ("Dine loginoplysninger er nu sendt til din mail.")
end if



rs.Close
set rs = nothing
conn.Close
set Conn = Nothing

end if %>


denne linje:
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

ændres til:
if Request.ServerVariables("REQUEST_METHOD") = "POST" and not isempty(rs("kolonne")) then
Casper



Forstår ikke lige hvad du siger.. Som du kan se her

så leder den efter en bruger som den kan sende emailen til...

Men jeg skal have den til at gøre sådan at hvis brugeren ikke findes, altså hvis feltet i tabellen er tom, så skal den springe det over med at sende en maill......

Fold kodeboks ind/udKode 


På trods af den rettelse så prøver den stadig at sende en mail afsted selvom at modtageren ikke findes..

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'JMail.AddRecipient'

/privat.asp, line 448


[Redigeret d. 02/11-04 18:48:17 af Morten B. Olsen]



Forstår ikke lige hvad du siger.. Som du kan se her

så leder den efter en bruger som den kan sende emailen til...

Men jeg skal have den til at gøre sådan at hvis brugeren ikke findes, altså hvis feltet i tabellen er tom, så skal den springe det over med at sende en maill......

Fold kodeboks ind/udKode 


På trods af den rettelse så prøver den stadig at sende en mail afsted selvom at modtageren ikke findes..

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'JMail.AddRecipient'

/privat.asp, line 448


[Redigeret d. 02/11-04 18:48:17 af Morten B. Olsen]


Prøv istedet for isempty(rs("kolonne")) med rs("kolonne") = ""
Casper



Er der ikke lige en der gider fange mig på msn og så kan vi lige tage den derfra.. Det er lidt nemmere..

morten-b@rudekuvert.dk

[Redigeret d. 02/11-04 19:12:38 af Morten B. Olsen]



Prøv denne her :O)

Kan ikke huske hvordan man sætter koden i boks :O(

(kode)




<% if s = "PrivatGlemtHent" then

strusername = Trim(Request.Form("brugernavn"))
strmail = Trim(Request.Form("email"))

If len(strusername) = 0 Then

If len(strmail) = 0 Then

Response.Clear
Response.Redirect ("default.asp?s=GlemtLogin")

Else
Response.write ("Du søgte på")
Response.write ""
Response.write " " & (strmail)
Response.write ""
strmail = Replace(strmail,"'","''")

End if

Else

Response.write ("Du søgte på")
Response.write ""
Response.write " " & (strusername)
Response.write ""
strusername = Replace(strusername,"'","''")

End if

Set Conn = Server.CreateObject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")
Conn.Open strDSN

strSQL = "SELECT * FROM privat WHERE "
strSQL = strSQL & " (pbrugernavn LIKE '%" & Request.form("brugernavn") & "%')"
strSQL = strSQL & " and (Pemail LIKE '%" & Request.form("email") & "%')"
Set RS = Conn.Execute(strSQL)

If rs.eof Then

response.write ("Der opstod en fejl.")
Response.END
else

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set JMail = Server.CreateObject("****.*******")
JMail.ServerAddress = ("**-**.******.***")
JMail.Sender = "support@silkejob.dk"
JMail.SenderName = "Silkejob.dk"
JMail.Subject = "Glemt password"
JMail.AddRecipient rs("pemail")
JMail.Body = "Hej " & rs("Pnavn") & vbCrLf & vbCrLf
JMail.Body= JMail.Body + "Dit brugernavn til silkejob.dk er: " & rs("Pbrugernavn") & vbCrLf & "Dit password er: " & rs("ppassword")& vbCrLf & vbCrLf
JMail.Body= JMail.Body + "Med Venlig Hilsen" & vbCrLf & vbCrLf & "SilkeJob.dk" & vbCrLf
' 1 - highest priority (Urgent)
' 3 - normal
' 5 - lowest
JMail.Priority = 3
JMail.Execute

Response.write ("Dine loginoplysninger er nu sendt til din mail.")
end if
end if


rs.Close
set rs = nothing
conn.Close
set Conn = Nothing

end if %>

(/kode)



<< < 12 > >>
t