Avatar billede flis_jessup Nybegynder
29. september 2004 - 01:34 Der er 5 kommentarer og
1 løsning

Hjælp med tilretning af dette lille script ønskes.

Hejsa.

Jeg har fundet lige præcis det script jeg har brug for lige nu, men jeg kan ikke rigtigt få det til at virke.
Det har den funktion, at det sender et glemt password afsted til den person som indtaster sin E-mail-adresse i formularen.
Så hvem kan lige hjælpe mig? Det burde være enkelt nok. Men bare ikke for mig, jeg kan nemlig ikke få det til at virke...  :-/


Her er mine nødvendige oplysninger:
Database-connection:
db/mailing.mdb

Tabel:
mailinglist

E-mail-adresse:
Emailad

Password:
IDpas



Og her er selve scriptet, som jeg ønsker tilpasset med mine egne data:

'First create a user form.
'The user submits the form with thier email address

'HTML Form
<form method="POST" action="sendpassword.asp">                               
<input type="text" name="email" size="20">
<br>Enter your Email<br>                             
<input type="submit" value="Submit">
</form>

'Next create an ASP page and name it sendpassword.asp

<%
strDB="DBQ=" & Server.Mappath("MyDatabase.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
strEmail=Request.Form("email")
Query="SELECT * from myTable WHERE email LIKE '" & strEmail & "'"
Set DataConn = Server.CreateObject("ADODB.Connection")
DataConn.Open strDB
Set RSlist = Server.CreateObject("ADODB.recordset")
RSlist.Open Query,DataConn,3

'Looks inside database for email address user submitted.
if RSlist.EOF Then

'If no match then it gives a message.
strMessage = "<br>We are sorry but we cannot find your email address in our system.<BR>Make sure you typed it in correctly."

Else

'If it finds a match it sends the email address and password via email to the requested email address.
fndEmail=RSlist("email")
pword=RSlist("pword")

'Sends mail using CDONTS

Set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.From = "your@email.com"
Mail.To = fndEmail
Mail.Subject = "Your Password"
strMsg = "We have found a password associated with " & fndEmail & "." & vbCrLf & vbCrLf & "Email: " & fndEmail & vbCrLf & "Password: " & pword & vbCrLf & vbCrLf &"Thank You" & vbCrLf &
Mail.Body = strMsg
Mail.Send

strMessage = "<br>Your Password has been mailed to " & fndEmail & "."
End If

'Writes the appropriate message to HTML
Response.Write strMessage
%>


Håber at jeg har forklaret mig tydeligt nok, ellers bare spørg løs.  :-)
Avatar billede fennec Nybegynder
29. september 2004 - 08:09 #1
får du en fejl, eller virker det bare ikke??
Avatar billede eagleeye Praktikant
29. september 2004 - 08:37 #2
Først skal du havde rettet connection stringen:
strDB="DBQ=" & Server.Mappath("MyDatabase.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"


Så det passer med hvor din databasen ligger og hedder, dette er et forslag men tjek at stien er rigtig:
strDB="DBQ=" & Server.Mappath("db/mailing.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"


For at SQL sætningen passer med din database så ret denne linje:
Query="SELECT * from myTable WHERE email LIKE '" & strEmail & "'"

Til denne:
Query="SELECT * from mailinglist WHERE Emailad LIKE '" & strEmail & "'"


Samt disse to linjer:
fndEmail=RSlist("email")
pword=RSlist("pword")

Til disse to:
fndEmail=RSlist("Emailad")
pword=RSlist("IDpas")    'Jeg antager IDPas er kolonnene som indeholder passwordet
Avatar billede flis_jessup Nybegynder
29. september 2004 - 09:40 #3
Hej eagleeye.

Det virker helt fint, mange tak!

Hvis jeg forhøjer til 200 points, kan du så finde ud af, hvorfor jeg ikke kan trække brugernavnet ud af databasen, og indsætte et i mailen sammen med de andre brugeroplysninger?

Brugernavnet (Name) ligger i samme database og i samme tabel (mailinglist), som de andre oplysninger.

Her er hvad jeg selv har stykket sammen:

strMsg = "Dine brugeroplysninger i forbindelse med mail-adressen " & fndEmail & "." & vbCrLf & vbCrLf & "Brugernavn: " & Name & vbCrLf & "Email: " & fndEmail & vbCrLf & "Password: " & pword & vbCrLf & vbCrLf &"Mange tak." & vbCrLf & "."

Det giver ingen fejlmeddelelser, men det trækker ikke brugernavnet ud af databasen, og viser det i den tilsendte mail, som jeg gerne vil have det til at gøre.
Hvorfor mon ikke?
Avatar billede flis_jessup Nybegynder
29. september 2004 - 09:43 #4
Måske brugernavnet skal trækkes ud længere oppe i scriptet? Altså en ny select?
Jeg kan ikke lige finde ud af det...  :-/
Avatar billede eagleeye Praktikant
29. september 2004 - 16:37 #5
Ja det kan jeg.

Så skal du også hente kolonne ind i variable Name som du bruger i strengen så der kommer 3 linjer og ikke kun disse to:

fndEmail=RSlist("Emailad")
pword=RSlist("IDpas") 

Prøv at tilføje Name = RSlist("Name") så det bliver:

fndEmail=RSlist("Emailad")
pword=RSlist("IDpas")
Name = RSlist("Name")
Avatar billede flis_jessup Nybegynder
29. september 2004 - 18:41 #6
Hejsa igen, eagleeye.

Var det virkelig SÅ nemt??? Dam´ed!

Nå, men jeg forhøjer og tildeler dig de lovede points, som tak for hjælpen, med det samme.
Dejligt at du kunne hjælpe mig, eagleeye! Igen: Tak for hjælpen.  :-)
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