Avatar billede 81morten Nybegynder
04. januar 2006 - 21:36 Der er 23 kommentarer og
1 løsning

kan nogle hjælpe mig med glemt password script jmail

jeg har fået hjælp fra anden bruger men det gik lidt langsomt det var hvad han hjalp mig med kan nogle hjælpe mig videre.

<FORM ACTION="glemtpw.asp?action=submit" METHOD="POST">

<p><B>Glemt Brugernavn / Password</B></p>

<p>Hvis du har glemt dit brugernavn / password kan du få tilsendt dine oplysninger ved at bruge denne side.</p>

<p>Indtast Brugernavn:</p>

<p><INPUT TYPE="text" name="bruger" value="<%=session("bruger")%>" size="20"><br />
<INPUT TYPE="submit" VALUE="Send mine oplysninger"></p>

</FORM>

<%
'***********************************************************
' RUN SCRIPT
'***********************************************************

If request.querystring("action") = "submit" Then

'***********************************************************
' Check input
'***********************************************************

If request.form("bruger") = "" Then

session("fejl") = "Udfyld venligst bruger feltet."
Session.Timeout = 60

Response.redirect("glemtpw.asp")

Else

'***********************************************************
' Find user
'***********************************************************

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\database\din-startside\database.mdb"
Conn.Open DSN

Set rs = Conn.execute("SELECT * FROM Admin WHERE login = '" & request.form("bruger") & "'")

If rs.eof Then

' Error: No users were found!
session("fejl") = "Der er ingen brugere med det angivne brugernavn."
Session.Timeout = 60
Response.redirect("glemtpw.asp")

Else

' User was found, remember e-mail adress
brugernavn = rs("fornavn")
password = rs("password")
user_email = rs("login")

End If

'***********************************************************
' Close connection
'***********************************************************

set rs = nothing
rs.Close
conn.close
set conn = nothing

'***********************************************************
' User was found, send notification using Jmail
'***********************************************************

If email > "" Then

Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ISOEncodeHeaders = False
JMail.ServerAddress = "mail.din-startside.dk"
JMail.Sender = "admin@din-startside.dk"
JMail.Subject = "Oplysninger hos din-startside.dk"
JMail.AddRecipient "" & user_email & ""
JMail.Priority = 3
JMail.Body = "dit password er" & vbcrlf & password


If JMail.Execute Then
Response.Write "Dine oplysninger er sendt til din email adresse.<br /><br />"
session("bruger") = ""
session("fejl") = ""
Else
Response.Write "<b>" & session("fejl") & "</b><br />"
End If

End If

End If
End If
%>



når jegså indtaster den e-mail kommer følgende fejl

Glemt Brugernavn / Password

Hvis du har glemt dit brugernavn / password kan du få tilsendt dine oplysninger ved at bruge denne side.

Indtast Brugernavn:




Microsoft VBScript runtime error '800a01a8'

Object required: 'rs'

/glemtpw1.asp, line 65

håber i kan hjælpe
Avatar billede fun22 Nybegynder
04. januar 2006 - 21:51 #1
Prøv lige det her:

<FORM ACTION="glemtpw.asp?action=submit" METHOD="POST">

<p><B>Glemt Brugernavn / Password</B></p>

<p>Hvis du har glemt dit brugernavn / password kan du få tilsendt dine oplysninger ved at bruge denne side.</p>

<p>Indtast Brugernavn:</p>

<p><INPUT TYPE="text" name="bruger" value="<%=session("bruger")%>" size="20"><br />
<INPUT TYPE="submit" VALUE="Send mine oplysninger"></p>

</FORM>

<%
'***********************************************************
' RUN SCRIPT
'***********************************************************

If request.querystring("action") = "submit" Then

'***********************************************************
' Check input
'***********************************************************

If request.form("bruger") = "" Then

session("fejl") = "Udfyld venligst bruger feltet."
Session.Timeout = 60

Response.redirect("glemtpw.asp")

Else

'***********************************************************
' Find user
'***********************************************************

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\database\din-startside\database.mdb"
Conn.Open DSN

Set rs = Conn.execute("SELECT * FROM Admin WHERE login = '" & request.form("bruger") & "'")

If rs.eof Then

' Error: No users were found!
session("fejl") = "Der er ingen brugere med det angivne brugernavn."
Session.Timeout = 60
Response.redirect("glemtpw.asp")

Else

' User was found, remember e-mail adress
brugernavn = rs("fornavn")
password = rs("password")
user_email = rs("login")

End If

'***********************************************************
' User was found, send notification using Jmail
'***********************************************************

If email > "" Then

Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ISOEncodeHeaders = False
JMail.ServerAddress = "mail.din-startside.dk"
JMail.Sender = "admin@din-startside.dk"
JMail.Subject = "Oplysninger hos din-startside.dk"
JMail.AddRecipient "" & user_email & ""
JMail.Priority = 3
JMail.Body = "dit password er" & vbcrlf & password


If JMail.Execute Then
Response.Write "Dine oplysninger er sendt til din email adresse.<br /><br />"
session("bruger") = ""
session("fejl") = ""
Else
Response.Write "<b>" & session("fejl") & "</b><br />"
End If

End If

End If
End If
%>
Avatar billede cpufan Juniormester
04. januar 2006 - 22:27 #2
i din oprindelige kode står der:

set rs = nothing
rs.Close

de skal blot byttes om


rs.Close
set rs = nothing

fun22 udelader helt at lukke forbindelserne, hvilket ikke er så godt for serverbelastningen.
Avatar billede nielle Nybegynder
04. januar 2006 - 22:45 #3
Der er en god grund til at Ekspertens regler siger at man ikke må oprette det samme spørgsmål flere gange efter hinanden:

http://www.eksperten.dk/spm/676149

Det er bl.a. for at forhindre at flere forskellige brugere kommer til at bruge deres ressourcer på at komme op med den samme løsning.

Det er i øvrigt heller ikke lovligt at give mere end 200 point for en løsning - og nu er der så 2 x 200 point i luften.

Når du skriver: "jeg har fået hjælp fra anden bruger men det gik lidt langsomt det var hvad han hjalp mig med kan nogle hjælpe mig videre.", så synes jeg lige at du skal være opmærksom på at det altså faktisk er dig som har bolden i det oprindelige spørgsmål.

Du må hellere se at få lukket det ene af disse to spørgsmål før at en co-admin gør det for dig.
Avatar billede 81morten Nybegynder
04. januar 2006 - 22:51 #4
der er en grund til at de ikke er lukket.
men jeg kan godt se hvad du mener nielle jeg syntes stadig at "nythjem" skal have point for det han har lavede for mig.
Avatar billede nielle Nybegynder
04. januar 2006 - 22:55 #5
Jeg synes skam også at du skal give ham pointene :^)

Men du må faktisk kun totalt give 200 point for et spørgsmål.
Avatar billede 81morten Nybegynder
04. januar 2006 - 22:57 #6
jeg har prøvet at ændre det du skrev cpufan men når jeg så kommer til start www.din-startside.dk/glemtpw1.asp og så enten skriver noget jeg ved ikke er i dat basen eller noget jeg ved der står i databasen sker der intet du kan jo lige prøve. se hvad jeg mener.
Avatar billede nielle Nybegynder
04. januar 2006 - 23:02 #7
Prøv at rette:

<FORM ACTION="glemtpw.asp?action=submit" METHOD="POST">

- til:

<FORM ACTION="glemtpw.asp?nogetAndetEndAction=nogetAndetEndSubmit" METHOD="POST">

Det er ikke godt at bruge 'action' og 'submit' idet at disse har deres egen betydning i en form.
Avatar billede 81morten Nybegynder
04. januar 2006 - 23:15 #8
samme problem som før, jeg havde forestillet mig at det måske har noget at gøre med at scriptet redirecter til sig selv.
Avatar billede nielle Nybegynder
04. januar 2006 - 23:17 #9
Det burde ikke betyde noget.
Avatar billede 81morten Nybegynder
05. januar 2006 - 00:13 #10
hmm jeg ved sgu ikke helt hvad jeg så skal finde på
Avatar billede nielle Nybegynder
05. januar 2006 - 06:50 #11
Jeg forstår nu ikke hvorfor at du redirecter? Scriptet er jo allerede "hos sig selv".

Et af resultaterne af denne redirect er at du mister de fejlbeskeder som du lige har skrevet ud til brugeren.
Avatar billede cpufan Juniormester
05. januar 2006 - 11:01 #12
ret

<FORM ACTION="glemtpw.asp?action=submit" METHOD="POST">


til

<FORM ACTION="glemtpw.asp?indsend=ok" METHOD="POST">

og

If request.querystring("action") = "submit" Then

til

If request.querystring("indsend") = "ok" Then
Avatar billede 81morten Nybegynder
05. januar 2006 - 21:14 #13
intet virker jeg kan ikke forstå det men der er jo nok en logisk forklaring i øjeblikket prøver jeg at få fat i mit webhotel og hører hvordan jmailén skal opsættes så vender jeg lige tilbage både til dette spm og spm 676149
Avatar billede nielle Nybegynder
05. januar 2006 - 21:41 #14
Prøv at fjerne dine redirects og se hvad du så får ud af det.
Avatar billede 81morten Nybegynder
05. januar 2006 - 22:49 #15
det har jeg prøvet og jeg har prøvet mange andre ting men nu fandt jeg lige det allerførste script frem som rent faktisk gør som det skal bortset fra det ikke sender mailen til den mail man indtaster. måske i kan se en fejl der.

<B>Glemt Brugernavn / Password</B><BR>
<% if request.querystring("action") = "submit" then

if request.form("bruger") = "" then
for each item in request.form
session(item) = request.form(item)
next
session("fejl") = "Udfyld venligst bruger feltet."
response.redirect("dig.asp")
end if

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\database\din-startside\database.mdb"
Conn.Open DSN

Set rs = Conn.execute("SELECT * FROM Admin WHERE login = '" & request.form("bruger") & "'")
if rs.eof then
for each item in request.form
session(item) = request.form(item)
next
session("fejl") = "Der er ingen brugere med det angivne brugernavn."
response.redirect("dig.asp")
else
brugernavn = rs("fornavn")
password = rs("password")
email = rs("login")


on error resume next
Set JMail          = Server.CreateObject("JMail.SMTPMail")
JMail.ISOEncodeHeaders = False
JMail.ServerAddress = "mail.din-stae.dk"
JMail.Sender        = "admin@din-startside.dk"
JMail.Subject      = "Oplysninger hos din-startside.dk"
JMail.AddRecipient  rs("login")
JMail.Priority      = 1
JMail.Body = "dit password er" & vbcrlf & password
JMail.Execute

response.write ("Dine oplysninger er sendt til din email adresse.<BR><BR>")
end if
set rs = nothing
conn.close
set conn = nothing
else %>
Hvis du har glemt dit brugernavn / password kan du få tilsendt dine oplysninger ved at bruge denne side.<P>
<% if session("fejl") <> "" then
response.write "<B>" & session("fejl") & "</B><BR>"
end if %>
<FORM ACTION="dig.asp?action=submit" METHOD="POST">
Indtast Brugernavn:<BR>
<INPUT TYPE="text" name="bruger" value="<% =session("bruger") %>" size="20"><BR>
<INPUT TYPE="submit" VALUE="Send mine oplysninger">
</FORM>
<%
session("bruger") = ""
session("fejl") = ""
end if %>
</font>
Avatar billede 81morten Nybegynder
05. januar 2006 - 22:51 #16
rettelse:    (jmail.serveraddress ="mail.din-startside.dk") skulle der normalt stå men jeg prøvede at fjerne noget bare for at se om den genererede en fejl det gjorde den ikke så spørgsmålet er hvad der er galt.
Avatar billede nielle Nybegynder
07. januar 2006 - 22:21 #17
Prøv med dette:

<B>Glemt Brugernavn / Password</B><BR>
<%
If Request.QueryString("indsend") = "ok" Then
    If Request.Form("bruger") = "" Then
        For Each item In Request.Form
            Session(item) = Request.Form(item)
        Next

        Session("fejl") = "Udfyld venligst bruger feltet."
    End If

    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\database\din-startside\database.mdb"
    Conn.Open DSN

    Set rs = Conn.Execute("SELECT * FROM Admin WHERE login = '" & Request.Form("bruger") & "'")
    If rs.EoF Then
        For Each item In Request.Form
            Session(item) = Request.Form(item)
        Next
    Else
        brugernavn = rs("fornavn")
        password = rs("password")
        email = rs("login")

        Response.Write "DEBUG: Før mail sendes.<br>"

        On Error Resume Next

        Set JMail              = Server.CreateObject("JMail.SMTPMail")
        JMail.ISOEncodeHeaders = False
        JMail.ServerAddress    = "mail.din-startside.dk"
        JMail.Sender          = "admin@din-startside.dk"
        JMail.Subject          = "Oplysninger hos din-startside.dk"
        JMail.AddRecipient rs("login")
        JMail.Priority        = 1
        JMail.Body            = "dit password er" & vbCrLf & password
        JMail.Execute

        Response.Write "DEBUG: Mail burde være sendt nu.<br>"

        Response.Write ("Dine oplysninger er sendt til din email adresse.<BR><BR>")
    End If

    Set rs = Nothing
    Conn.Close
    Set Conn = Nothing
Else
%>
Hvis du har glemt dit brugernavn / password kan du få tilsendt dine oplysninger ved at bruge denne side.<P>
<%
    If Session("fejl") <> "" Then
        Response.Write "<B>" & Session("fejl") & "</B><BR>"
    End If
%>
<FORM ACTION="dig.asp?indsend=ok" METHOD="POST">
Indtast Brugernavn:<BR>
<INPUT TYPE="text" name="bruger" value="<% =session("bruger") %>" size="20"><BR>
<INPUT TYPE="submit" VALUE="Send mine oplysninger">
</FORM>
<%
    Session("bruger") = ""
    Session("fejl") = ""
End If
%>
</font>
Avatar billede nielle Nybegynder
16. januar 2006 - 18:25 #18
Har du fået kigget på det?
Avatar billede 81morten Nybegynder
17. januar 2006 - 19:44 #19
jeg mangler stadig svar fra mit webhotel og har ikke glemt det skulle meget gerne finde ud af noget i denne uge
Avatar billede nielle Nybegynder
06. februar 2006 - 18:19 #20
Hvad sagde de så?
Avatar billede 81morten Nybegynder
13. februar 2006 - 21:36 #21
hej eksperter jeg har ikke kunnet bruge dette script da jeg ikke tror at mit webhotel benytter jmail selvom de skriver at de gør men jeg har ihvertfald fundet noget andet jeg kan bruge (System.Web.Mail.MailMessage) det virker til gengæld men jeg vil gerne give jer point for tålmodigheden så læg et svar det er jo muligt at flere af jeres svar var rigtige men at jeg så bare ikke kunne bruge dem.
Avatar billede nielle Nybegynder
13. februar 2006 - 21:44 #22
Hvis webhotellet ikke har JMail installeret, så ville du får en fejlbesked på denne linje:

Set JMail = Server.CreateObject("JMail.SMTPMail")

- og siden at du ikke har fået det, så må vi gå ud fra at de har JMail. Noget helt andet er så at den *måske* ikke er konfugureret sådan at den virker ordentligt. :^|

Men godt at du fik det til at virke på anden måde :^)
Avatar billede 81morten Nybegynder
14. februar 2006 - 21:51 #23
det er også rigtigt jeg har brugt asp.net i hele koden. grunden til at jeg siger at jeg ikke tror at jmail er installeret er fordi jeg fandt et script der kunne tjekke hvilke komponenter der var installeret på webhottelet og jmail var ikke iblandt og så på grund af det manglende svar på de mails jeg har sendt dem.
Avatar billede nielle Nybegynder
14. februar 2006 - 22:15 #24
Lyder nu lidt mystisk ... nå pyt du har fået det til at virke og det er det vigtigste :^)

Takker for point :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester