webForumDet fria alternativet

Ifall användaren inte finns

ASP

11 svar · 288 visningar · startad av DiDjo

Medlem sedan nov. 2002544 inlägg
Frågan#1

Tja! Jag har en glömt lösenordet kod:

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath ("lol.mdb")
Set Rs = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From anv"
rs.Open Addera, Connect, 3, 3 

Do Until rs.EOF

	If Rs("anv") = Request.Form("anv") Then

epost = Rs("email")
namn = Rs("anv")
losen = Rs("losen")

Set jmail = Server.CreateObject( "JMail.Message" )
 
jmail.AddRecipient "" & epost & ""
jmail.From = "support@didjo.com"
Jmail.Priority = 1
jmail.Subject = "Glömt lösenordet"
jmail.appendHTML "<font face=Verdana, Arial, Helvetica, sans-serif size=2>"
jmail.appendHTML "Tja " & namn & "! <br><br>"
jmail.appendHTML "Här är ditt användarnamn och lösenord till DiDjo Community<br><br><br>"
jmail.appendHTML "<b>Användarnamn: </b> " & namn & "<br>"
jmail.appendHTML "<b>Lösenord: </b> " & losen & "<br>" 
jmail.appendHTML "</font>"
jmail.appendHTML "<br><br><a href=http://www.didjo.com/ target=new>[url]http://www.didjo.com/[/url]</a><br><br>"
jmail.Send( "mail.didjo.com" )

End if
Rs.MoveNext
Loop

Rs.Close
Connect.Close
Set Rs = nothing
Set Connect = nothing
Session("skickat") = "Ditt lösenord har skickats!"
Response.Redirect "index.asp"
%>

Hur lägger man till en koll som kollar om användarnamnet finns lr ej? Finns det skickas mejlet... annars skickas man tillbaka till sidan innan med en session?

Medlem sedan jan. 20032 285 inlägg
#2

Menar du såhär?

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath ("lol.mdb")
strSQL = "SELECT * FROM anv WHERE [anv] = '" & Request.Form("anv") & "'"
Set objRS = Connect.Execute(strSQL)

If objRS.EOF Then
  Session("fel") = "Användarnamnet finns inte."
  Server.Transfer("default.asp")
Else
  Set jmail = Server.CreateObject( "JMail.Message" )
  jmail.AddRecipient objRS("email")
  jmail.From = "support@didjo.com"
  jmail.Priority = 1
  jmail.Subject = "Glömt lösenordet"
  jmail.appendHTML "<font face=Verdana, Arial, Helvetica, sans-serif size=2>"
  jmail.appendHTML "Tja " & objRS("anv") & "! <br><br>"
  jmail.appendHTML "Här är ditt användarnamn och lösenord till DiDjo Community<br><br><br>"
  jmail.appendHTML "<b>Användarnamn: </b> " & objRS("anv") & "<br>"
  jmail.appendHTML "<b>Lösenord: </b> " & objRS("losen") & "<br>" 
  jmail.appendHTML "</font>"
  jmail.appendHTML "<br><br><a href=http://www.didjo.com/ target=new>[url]http://www.didjo.com/[/url]</a><br><br>"
  jmail.Send( "mail.didjo.com" )
  Set jmail = Nothing
End If

Set objRS = Nothing
Connect.Close
Set Connect = Nothing
%>
Medlem sedan dec. 200012 464 inlägg
#3
namn = Request.Form("anv")
Addera = "Select email,losen From anv where anv = '" & _
replace(namn,"'","''") & "'"
set rs = Connect.execute(addera)
if not rs.eof then

epost = Rs("email")
losen = Rs("losen")

Set jmail = Server.CreateObject( "JMail.Message" )
 
jmail.AddRecipient "" & epost & ""
jmail.From = "support@didjo.com"
Jmail.Priority = 1
jmail.Subject = "Glömt lösenordet"
jmail.appendHTML "<font face=Verdana, Arial, Helvetica, sans-serif size=2>"
jmail.appendHTML "Tja " & namn & "! <br><br>"
jmail.appendHTML "Här är ditt användarnamn och lösenord till DiDjo Community<br><br><br>"
jmail.appendHTML "<b>Användarnamn: </b> " & namn & "<br>"
jmail.appendHTML "<b>Lösenord: </b> " & losen & "<br>" 
jmail.appendHTML "</font>"
jmail.appendHTML "<br><br><a href=http://www.didjo.com/ target=new>[url]http://www.didjo.com/[/url]</a><br><br>"
jmail.Send( "mail.didjo.com" )
else
'
' kod för att hantera fel användarnamn
'
End if
Medlem sedan juni 200032 967 inlägg
#4

(Ja, jag såg att det har hunnit inläggas, men när jag ändå har skrivit det, så... ;) )

- - - - -

Det är extremt onödigt att loopa igenom hela användartabellen. Ställ villkoret direkt i SQL-frågan. Varför kallar du SQL-frågan för Addera förresten?

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath ("fjukig_databas.mdb")
strSQL = "Select * From anv where anv='" & replace(request.form("anv"), "'", "''") & "'"
set rs = Connect.Execute (strSQL)
[b]If not rs.eof then[/b]
	epost = Rs("email")
	namn = Rs("anv")
	losen = Rs("losen")

	Set jmail = Server.CreateObject( "JMail.Message" )
 
	jmail.AddRecipient epost ' [b]<-- här tog jag bort onödiga konkateneringar av tomma strängar
	jmail.From = "support@didjo.com"
	Jmail.Priority = 1
	jmail.Subject = "Glömt lösenordet"
	jmail.appendHTML "<font face=Verdana, Arial, Helvetica, sans-serif size=2>"
	jmail.appendHTML "Tja " & namn & "! <br><br>"
	jmail.appendHTML "Här är ditt användarnamn och lösenord till DiDjo Community<br><br><br>"
	jmail.appendHTML "<b>Användarnamn: </b> " & namn & "<br>"
	jmail.appendHTML "<b>Lösenord: </b> " & losen & "<br>" 
	jmail.appendHTML "</font>"
	jmail.appendHTML "<br><br><a href=http://www.didjo.com/ target=new>[url]http://www.didjo.com/[/url]</a><br><br>"
	jmail.Send( "mail.didjo.com" )
	Rs.Close
	Connect.Close
	Set Rs = nothing 
	Set Connect = nothing
	Session("skickat") = "Ditt lösenord har skickats!"
	Response.Redirect "index.asp"
Else
	Rs.Close
	Connect.Close
	Set Rs = nothing 
	Set Connect = nothing
	Session("skickat") = "Nä, fanns ju inte!"
	Response.Redirect "index.asp"
End if
%>

Mvh

Medlem sedan nov. 2002544 inlägg
#5

Så här?

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath ("nasse.mdb")
Set Rs = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From anv"
rs.Open Addera, Connect, 3, 3 

Do Until rs.EOF

	If Rs("anv") = Request.Form("anv") Then

namn = Request.Form("anv")
Addera = "Select email,losen From anv where anv = '" & _
replace(namn,"'","''") & "'"
set rs = Connect.execute(addera)
if not rs.eof then

epost = Rs("email")
losen = Rs("losen")

Set jmail = Server.CreateObject( "JMail.Message" )
 
jmail.AddRecipient "" & epost & ""
jmail.From = "support@didjo.com"
Jmail.Priority = 1
jmail.Subject = "Glömt lösenordet"
jmail.appendHTML "<font face=Verdana, Arial, Helvetica, sans-serif size=2>"
jmail.appendHTML "Tja " & namn & "! <br><br>"
jmail.appendHTML "Här är ditt användarnamn och lösenord till DiDjo Community<br><br><br>"
jmail.appendHTML "<b>Användarnamn: </b> " & namn & "<br>"
jmail.appendHTML "<b>Lösenord: </b> " & losen & "<br>" 
jmail.appendHTML "</font>"
jmail.appendHTML "<br><br><a href=http://www.didjo.com/ target=new>[url]http://www.didjo.com/[/url]</a><br><br>"
jmail.Send( "mail.didjo.com" )
else

session("fel")="Användarnamnet fanns inte!"
Response.Redirect "glomt1.asp"
End if

Rs.MoveNext
Loop

Rs.Close
Connect.Close
Set Rs = nothing
Set Connect = nothing
Session("skickat") = "Ditt lösenord har skickats!"
Response.Redirect "index.asp"
%>

Då får jag:

Microsoft VBScript compilation error '800a040e' 

'loop' without 'do' 

/glomt2.asp, line 49 

Loop
^
Medlem sedan nov. 2002544 inlägg
#6

ops! Marsvinet hann säga nått! Ska pröva hans!

Medlem sedan nov. 2002544 inlägg
#7

@nders byt ut databasen PLZ!

Medlem sedan juni 200032 967 inlägg
#8

DiDjo skrev:

@nders byt ut databasen PLZ!

Jepp, fixat

Medlem sedan nov. 2002544 inlägg
#9

tackar! Får detta fel:

Microsoft VBScript runtime error '800a000d' 

Type mismatch: 'jmail.AddRecipient' 

/glomt2.asp, line 13
Medlem sedan juni 200032 967 inlägg
#10

Innehåller fältet email något då? Kontrollera det.

Mvh

Medlem sedan nov. 2002544 inlägg
#11

Det gjorde det innan jag ändarde koden... har inge bra prg för att ändra ASP just nu! har bara anteckningar...

Medlem sedan apr. 20022 743 inlägg
#12

ASP är ju bara text så anteckninger funkar ju

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)