Hur returnerar man en användares email? T.ex. om någon skriver i textfältet "lasse@mail.com" så ska nästa sida hitta honom och skicka ett email till han? Du börjar med att i form-taggen submitta till samma sida som din textfil finns på. Därefter känner du av om textfältet är fyllt. Eftersom det är en mailadress har vi i sverige troligen minst 5 tkn (a@a.a). Om så är fallet - maila, om inte - då får man fylla i det först. Pelle hur ser koden ut för jmail ? Har inte kunnat testa den men ändå.Glömt lösenord?
Sv: Glömt lösenord?
En sak som är smidig det är att man även har lösenord. Anger man inte det så kommer ett mail skickas. Jag har lagt till det som exempel för att du skall förstå principen. Det triggas alltså på att lösenordsfältet är tomt
Application("DSN") har dy satt i global.asa med din connectionsträng till databasen. Se exempel i <Artikel [Den perfekta inloggningen #3]>
<code>
<%
txtEmail = Request.Form("txtemail")
txtPassword = Request.Form("txtPassword")
' öppna anslutningen
Set con = server.createobject("adodb.connection")
con.Open application("dsn")
If Len(txtEmail) > 5 and txtPassword = "" Then
' kolla om mailadressen finns, undvik även sql-injection
Set rst = con.Execute("select email, password from user where email = '" & _
Replace(txtEmail,"'","''") & "'"
' Får vi resultat finns användaren i vår databas
If Not Rst.EOF Then
' personen finns i databasen, då mailar vi
Set SMTP = Server.CreateObject("CDONTS.NewMail")
SMTP.From = "jag@mindomän.se"
SMTP.To = txtEmail
SMTP.Subject = "Kontouppgifter"
SMTP.Body = "Ditt lösenord: " & rst("password")
SMTP.Send
Set SMTP = Nothing
errMessage = "Ett mail med ditt lösenord har skickats till dig"
Else
errMessage = "Detta konto finns inte angivet"
End If
ElseIf Len(txtEmail) > 5 and txtPassword > "" Then
' epost och lösen ifyllt - logga in
' kolla om mailadressen finns, undvik även sql-injection
Set rst = con.Execute("select userid, email, password from user where email = '" & _
Replace(txtEmail,"'","''") & "' and password = '" & _
Replace(txtPassword,"'","''") & "'"
If Not Rst.EOF Then
' allt ok, ge oss en session med userid som vi använder
session("userid") = rst("userid")
Else
' inloggningen matchar inte,
errMessage = "Inloggningen är inte korrekt, försök igen"
End If
Else
' inget är ifyllt - då får dom fylla i
errMessage = "Fyll i fälten och försök igen"
End if
Set con = Nothing
%>
<html>
<form ... login.asp>
<input ... email>
<input ... password>
< submit >
<%=errmessage%>
</html>
</code>
Phu, undra om allt blev rätt där..Sv: Glömt lösenord?
Pelle Kommenterar: Inte den blekaste - Kolla på jmails hemsida. Sv: Glömt lösenord?
Set JMail=Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = strSMTP
JMail.Sender = SkickatAv
JMail.Subject = strAmne
JMail.AddRecipient strMottagare
JMail.ContentType = "text/html" ' eller skriv 'text/plain' för oformaterad text
JMail.Body = "brevet"
JMail.Priority = 2
JMail.Execute
Set JMail = Nothing