Avatar billede jmc Nybegynder
21. juni 2001 - 09:47 Der er 5 kommentarer og
1 løsning

opsamling af information til mailform

Jeg skal opsamle et brugernavn og spørge databasen efter password. Det hele virke på nær en lille dum ting. Den sender altid password på record 1.

Hvordan kan jeg spørge efter password på det username som bliver postet fra noaccess.asp
      <form name=\"form1\" method=\"post\" action=\"glemtpassword.asp\">
        <span class=\"overskrifter_sort\">Brugernavn</span>:<br>
        <input type=\"text\" name=\"Username\" class=\"formfelter\">
        <input type=\"submit\" value=\"send\" class=\"formknap\" name=\"s\">
      </form>

glemtpassword.asp ser sådan ud:

<%@LANGUAGE=\"VBSCRIPT\"%>
<!--#include file=\"Connections/connection.asp\" -->
<%
set Recordset1 = Server.CreateObject(\"ADODB.Recordset\")
Recordset1.ActiveConnection = MM_connection_STRING
Recordset1.Source = \"SELECT * FROM users\"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 3
Recordset1.Open()
Recordset1_numRows = 0
%>

<%
Set Mailer = Server.CreateObject(\"SMTPsvg.Mailer\")
Mailer.ContentType = \"text/html\"
Mailer.FromName  = \"Mail fra systemet\"
Mailer.FromAddress= \"kontakt@yada.dk\"
Mailer.RemoteHost = \"mail.yada.dk\"
Mailer.AddRecipient (Recordset1.Fields.Item(\"navn\").Value), (Recordset1.Fields.Item(\"email\").Value)
Mailer.Subject    = \"Glemt password\"

tekst = \"\"
linie = vbCrLf
\'linie = \"<br>\"
udfyldt = false

for each e in Request.Form
    if e <> \"Type\" and e <> \"Submit\" then
        if Request.Form(e) <> \"\" then
            udfyldt = true
            tekst = tekst & e & linie & Request.Form(e) & linie & linie
        end if
    end if
next

\'Response.Write tekst

Mailer.BodyText  = \"Dit password til systemet er: \" & (Recordset1.Fields.Item(\"password\").Value)

if udfyldt then
    if Mailer.SendMail then
      Response.Write \"<p>Dit password er send til dig. Check din mail!</p>\"
    else
      Response.Write \"<p>Dit password blev<b>ikke</b> send</p>\"
      Response.Write \"<p>Mail-fejl. Fejlen var: <b>\" & Mailer.Response & \"</b></p>\"
    end if
else
      Response.Write \"<p>Dit password var <b>IKKE</b> Send</p>\"
      Response.Write \"<p>Felterne var ikke udfyldt!</p>\"
end if
%>


<%
If (Recordset1.EOF) Then
Response.Redirect(\"noaccess.asp\")
End If
%>

<%
Recordset1.Close()
%>


Avatar billede nuno Nybegynder
21. juni 2001 - 09:56 #1
Recordset1.Source = \"SELECT * FROM users WHERE brugernavn = \'\" & request.form(\"Username\") & \"\'\"

/nuno
Avatar billede nuno Nybegynder
21. juni 2001 - 09:57 #2
så vil den istedet for at udtrække alle brugerne kun udtrække den, som passer til det brugernavn, som den får fra den form der submittes.

/nuno
Avatar billede jmc Nybegynder
21. juni 2001 - 10:05 #3
Den skriver :

Microsoft OLE DB Provider for ODBC Drivers error \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/journal/glemtpassword.asp, line 12
Avatar billede nuno Nybegynder
21. juni 2001 - 10:56 #4
Recordset1.Source = \"SELECT * FROM users WHERE navn = \'\" & request.form(\"Username\") & \"\'\"

brugernavn skiftet ud med navn - hvis du ikke selv lige var opmærksom på det.......


prøv at skrive

response.write Recordset1.Sorce
response.end

lige efter Recordset1.Source = \"SELECT * FROM users WHERE navn = \'\" & request.form(\"Username\") & \"\'\"

så kan du se den fulde sql-sætning inden den bliver eksekveret


/nuno
Avatar billede jmc Nybegynder
21. juni 2001 - 13:22 #5
Nu siger den:

SELECT * FROM users WHERE navn = \'jan\'

og uden
\'response.write Recordset1.Sorce
\'response.end

ADODB.Field error \'800a0bcd\'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/journal/glemtpassword.asp, line 26


Avatar billede jmc Nybegynder
21. juni 2001 - 13:26 #6
Sorry, det var bare mig som var lidt lam! Det virker!
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