Avatar billede forcedesigner Nybegynder
28. juli 2002 - 15:51 Der er 21 kommentarer og
1 løsning

Glemt password problem...

Jeg har en glemt password kode, den virker godt nok, den sender mailen med username og password.

Når man taster den rigtig e-mail ind skriver den "Du vil nu modtage din username og password via din e-mail!"...OK fint nok.

Men når man skrive en forkert e-mail viser den intet, i stedet for at skrive "Der er ikke en user med den e-mail!"

Her er koden:

<%
set conn = server.createobject("ADODB.connection")
path = Server.MapPath("system.mdb")
conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}"
SQL = "SELECT * from user where email= '" & request.Querystring("modtager") & "'"
set RS = Conn.Execute(SQL)

if not rs.bof and not rs.eof then


Emne = "Username og Password"
username = rs("username")
password = rs("password")
Modtager = rs("email")

temp_text = "Hejsa " & username  & vbCrLf & vbCrLf
temp_text = temp_text & "Velkommen til din username og password som du har glemt!" & vbCrLf & vbCrLf
temp_text = temp_text & "Username: " & username  & vbCrLf
temp_text = temp_text & "Password: " & password & vbCrLf & vbCrLf
temp_text = temp_text & "M.V.H" & vbCrLf
temp_text = temp_text & "forcedesign.dk" & vbCrLf & vbCrLf

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName  = "forcedesign.dk"
Mailer.FromAddress= "robot@forcedesign.dk"
Mailer.RemoteHost = "mail.forcedesign.dk"
Mailer.AddRecipient "User ", Modtager
Mailer.Subject    = "Username og Password"
Mailer.BodyText  = temp_text
if Mailer.SendMail then
  Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Du vil nu modtage din username og password via din e-mail!</center></B></FONT>"
else
Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Der er ikke en user med den e-mail!</center></B></FONT>"
end if

else
%><% end if %>

hjælp mig venner.
Avatar billede eagleeye Praktikant
28. juli 2002 - 15:55 #1
du kan skrive det i den sidste else:

else
%><% end if %>

Eks kunne være:

else
  Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Der er ikke en user med den e-mail!</center></B></FONT>"
%><% end if %>
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 16:02 #2
Den viser denne fejl: Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/login.asp, line 1093
Avatar billede eagleeye Praktikant
28. juli 2002 - 16:09 #3
du skal bare til føge denne linie:

Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Der er ikke en user med den e-mail!</center></B></FONT>"


efter den sidste else du har i koden
Avatar billede eagleeye Praktikant
28. juli 2002 - 16:15 #4
hele koden:

<%
set conn = server.createobject("ADODB.connection")
path = Server.MapPath("system.mdb")
conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}"
SQL = "SELECT * from user where email= '" & request.Querystring("modtager") & "'"
set RS = Conn.Execute(SQL)

if not rs.bof and not rs.eof then


Emne = "Username og Password"
username = rs("username")
password = rs("password")
Modtager = rs("email")

temp_text = "Hejsa " & username  & vbCrLf & vbCrLf
temp_text = temp_text & "Velkommen til din username og password som du har glemt!" & vbCrLf & vbCrLf
temp_text = temp_text & "Username: " & username  & vbCrLf
temp_text = temp_text & "Password: " & password & vbCrLf & vbCrLf
temp_text = temp_text & "M.V.H" & vbCrLf
temp_text = temp_text & "forcedesign.dk" & vbCrLf & vbCrLf

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName  = "forcedesign.dk"
Mailer.FromAddress= "robot@forcedesign.dk"
Mailer.RemoteHost = "mail.forcedesign.dk"
Mailer.AddRecipient "User ", Modtager
Mailer.Subject    = "Username og Password"
Mailer.BodyText  = temp_text
if Mailer.SendMail then
  Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Du vil nu modtage din username og password via din e-mail!</center></B></FONT>"
else
Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Der er ikke en user med den e-mail!</center></B></FONT>"
end if

else
  Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Der er ikke en user med den e-mail!</center></B></FONT>"
%><% end if %>
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 16:15 #5
Men så er "Der er ikke en user med den e-mail!" der hele tiden også hvis man ikke skrivet noget ind, bar man går ind i login.asp er den der klar.
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 16:29 #6
Er der nogen der kan hjælpe mig?? DET VIRKER JO IK'
Avatar billede eagleeye Praktikant
28. juli 2002 - 16:33 #7
Jeg forstår ikke dit problem så... Hvis dette er en del at en større kode med en form så vis lige hele koden..
Avatar billede oasen Nybegynder
28. juli 2002 - 16:48 #8
elseif len(trim(request.form("dinformular"))) > 0 Then
  Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Der er ikke en user med den e-mail!</center></B></FONT>"
%><% end if %>
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 16:53 #9
0opSss....nu virker det....tak for det.

Kunne ikke også hjælpe mig med denne kode?? Jeg vil gerne give dig 30 points i alt hvis du kan hjælpe.


Jeg har lavet en ret.asp side hvor man kan redigere og opdatere sin profil.

Koden skulle gerne virke men ved ik' hvad der er galt.

Her koden:

<html>

<head>
<title>Ny side 2</title>
</head>

<body>

                                      <table width="383" border="0" cellspacing="2" cellpadding="2" bgcolor="#F9F9F9">
                                        <tr>
                                          <td width="374">
                                            <p>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("database.mdb")
sql = "select * from bruger where brugernavn = '" & Session("brugernavn") & "'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open sql, conn, 1, 3

    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
    rs.update
    rs("password") = Request.form("password")
    rs("navn") = Request.form("navn")
    rs("alder") = Request.form("alder")
    rs("kon") = Request.form("kon") 
    rs("email") = Request.form("email")
    rs("icq") = Request.form("icq")
    rs("website") = Request.form("website")
    rs("om") = Request.form("om")
    rs.update
    Response.Write("<br><center><FONT FACE=Verdana SIZE=2 COLOR=#FF0000><B>Din profil er nu opdateret</B></FONT></center>")
    end if
%>
                                            <form method="post" action="file:///D:/Documents%20and%20Settings/Mohamed/Skrivebord/ForceDesign/ret.asp">
                                              <table width="370" border="0" cellspacing="0" cellpadding="3">
                                                <tr>
                                                  <td class="skrift" width="173" align="right"><font size="2" face="Verdana">Password:</font></td>
                                                  <td width="185"><input type="text" value="<%=RS("password")%>" name="password" class="bottom" size="30" style="border: 1 solid #8D9AA8"></td>
                                                </tr>
                                                <tr>
                                                  <td class="skrift" width="173" align="right"><font size="2" face="Verdana">Fuldnavn:</font></td>
                                                  <td width="185"><input type="text" value="<%=RS("navn")%>" name="navn" class="bottom" size="30" style="border: 1 solid #8D9AA8"></td>
                                                </tr>
                                                <tr>
                                                  <td class="skrift" width="173" align="right"><font size="2" face="Verdana">Alder:</font></td>
                                                  <td width="185"><input type="text" value="<%=RS("alder")%>" size="30" maxlength="2" name="alder" class="bottom" style="border: 1 solid #8D9AA8"></td>
                                                </tr>
                                                <tr>
                                                  <td class="skrift" width="173" align="right"><font size="2" face="Verdana">Firma:</font></td>
                                                  <td width="185"><input type="text" value="<%=RS("kon")%>" name="kon" class="bottom" size="30" style="border: 1 solid #8D9AA8"></td>
                                                </tr>
                                                <tr>
                                                  <td class="skrift" width="173" align="right"><font size="2" face="Verdana">E-mail:</font></td>
                                                  <td width="185"><input type="text" value="<%=RS("email")%>" name="email" class="bottom" size="30" style="border: 1 solid #8D9AA8"></td>
                                                </tr>
                                                <tr>
                                                  <td class="skrift" width="173" align="right"><font size="2" face="Verdana">ICQ:</font></td>
                                                  <td width="185"><input type="text" value="<%=RS("icq")%>" maxlength="15" size="30" name="icq" class="bottom" style="border: 1 solid #8D9AA8"></td>
                                                </tr>
                                                <tr>
                                                  <td class="skrift" width="173" align="right"><font size="2" face="Verdana">Webside:</font></td>
                                                  <td width="185"><input type="text" value="<%=RS("website")%>" maxlength="255" size="30" name="website" class="bottom" style="border: 1 solid #8D9AA8"></td>
                                                </tr>
                                                <tr>
                                                  <td valign="top" class="skrift" width="173" align="right"><font size="2" face="Verdana">Profil:</font></td>
                                                  <td width="185"><textarea wrap="on" rows="5" cols="30" name="om" class="bottom" style="border: 1 solid #8D9AA8"><%=RS("om")%></textarea></td>
                                                </tr>
                                                <tr>
                                                  <td width="173" align="right">
                                                    <div align="right">
                                                    </div>
                                                  </td>
                                                  <td width="185">
                                                    <div align="right">
                                                      <p align="left"><input type="submit" value="Opdatere" name="Submit" class="bottom" style="border: 1 solid #8D9AA8">
                                                    </div>
                                                  </td>
                                                </tr>
                                              </table>
                                            </form>
                                          </td>
                                        </tr>
                                      </table>

</body>

</html>
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 16:55 #10
Den viser denne fejl:

Fejltype:
ADODB.Field (0x80020009)
Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.
/forcedesign/ret.asp
Avatar billede eagleeye Praktikant
28. juli 2002 - 16:58 #11
Hvilken linie kommer fejlen og er når man går ind på siden?

Det kunne type på den ikke finder en bruger ved denne SQL:
sql = "select * from bruger where brugernavn = '" & Session("brugernavn") & "'"
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 17:07 #12
Der mange bruger i den SQL.

Der er ikke en linie nr.  det er alt: /forcedesign/ret.asp
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 17:08 #13
Er der en nemmer mode at gøre det på??
Avatar billede oasen Nybegynder
28. juli 2002 - 17:11 #14
For at undgå fejlmedd. kan du starte med at skrive:

if Request.ServerVariables("REQUEST_METHOD") = "POST" and not rs.eof then ...

Nu er der vel skriverettigheder i mappen, hvor din DB ligger...?
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 17:11 #15
Det er sku' lige meget, tager bare dine 15 point.
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 17:13 #16
Hvor skal den ligge?
Avatar billede oasen Nybegynder
28. juli 2002 - 17:14 #17
Det er forskelligt fra udbyder til udbyder - du skal bare sikre dig, at der er skriverettigheder. Den kan du teste ved at lave en simpel update/insert/delete.
Den kan f.eks. hedde cgi-bin eller private...
Avatar billede oasen Nybegynder
28. juli 2002 - 17:17 #18
Prøv at køre denne:

Conn.Execute("Update bruger set brugernavn = '" & Session("brugernavn") & "' Where brugernavn = '" & Session("brugernavn") & "'")
Avatar billede forcedesigner Nybegynder
28. juli 2002 - 17:31 #19
Hvis jeg login ind og redigere min profil virker det fint, men hvis jeg logger af og skriver ret.asp viser den en fejl i stedet for at gå tilbage til login.asp for jeg har denne kode: <!--#include file="tjek.asp"-->
<%
mode = Request("mode")
Response.Buffer = True

Gå den ikke bare tilbage til login.asp
%>
Avatar billede oasen Nybegynder
28. juli 2002 - 17:34 #20
Og hvad indeholder din inc-fil?
Avatar billede oasen Nybegynder
28. juli 2002 - 17:40 #21
Grunden til at du får en fejl, er vel at du forsøger at opdatere posten med værdien Session("brugernavn"). Og siden du er logget ud er din session tom.
Avatar billede oasen Nybegynder
28. juli 2002 - 17:49 #22
Prøv lige at poste alt kode, incl. indholdet af din inc-fil, og fortæl præcis hvad der går galt hvornår.
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