[Risolto] Recuperare la password con Asp

  • Creatore Discussione Creatore Discussione mimmoby
  • Data di inizio Data di inizio
Vorrei ringrazziarvi tutti quanti per la vostra cordialità nei confronti degli utenti in dificoltà.

Un grazie a Paolo69 e anche Marco grazia per la sua delucidazione in merito....

alla prossima di sicuro siete gentilissimi Ragaaaaa....
ciaoooooooo
 
Ciao sono nuovo e vorrei fare anchio una pagina per il recupero della password, o caricato il codice e seguito alla lettera tutte le informazioni, ma non mi funziona niente.
Sembra che non legga il database o provato a modificare la stringa ma niente, dalla pagina del form dove inserisco l'indirizzo Email mi passa alla pagina successiva ( password inviata ) , e mi è sorto un dubbio che questo codice sia stato costruito per Aruba .
Il mio sito è su Natan e giro con Server Windos 2000 , mi potete dare delle informazioni su come posso fare funzionare questo modulo.

Grazie gimi302:love:
 
finalmente qualcuno che mi aiuti

Ecco il codice, questo codice è stato postato da Paolo69.
<html>
<body>
<h3 align="center">Hai dimenticato la Password?</h3>
<p align="center">Inserisci l'indirizzo email con cui ti sei registrato e la riceverai entro pochi minuti!</p>
<p align="center">
<form method="POST" action="mimmoby.asp?invia=PWD">
<input type="text" name="email" />
<input type="submit" value="OK" />
</form>
</p>
<p align="center">
<%

invia = Request.QueryString("invia")
email = Request.Form("email")

If invia = "PWD" Then

If email <> "" Then
'Apro la connessione al database e verifico che l'utente esista
strConnect = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/utenti_sito.mdb")
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.ActiveConnection = strConnect
Rs.Source = "SELECT * FROM utenti WHERE email = '"&email&"'"
Rs.CursorType = 0
Rs.CursorLocation = 2
Rs.LockType = 1
Rs.Open()
If NOT Rs.EOF Then

username = (Rs.Fields.Item("username").Value)
password = (Rs.Fields.Item("password").Value)

' esiste
'__________________________________________________________________________________
' configurazione mail
' Windows XP / 2003
cSmtpServer = "smtp.aruba.it"
cSmtpPort = "25"
cSMTPUser = ""
cSMTPPassword = ""

' invio e-mail di notifica
Set myMail = Server.CreateObject("CDO.Message")
'CDO Port (1=localhost 2=network)
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
'Out going SMTP server
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")= cSmtpServer
'SMTP port
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= cSmtpPort
'SMTP Server password
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendpassword") = cSMTPPassword
'SMTP Server username
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendusername") = cSMTPUser
'Timeout
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'Update
myMail.Configuration.Fields.Update
' Windows XP / 2003
' oggetto
myMail.Subject = "Password dimenticata"
' mittente
myMail.From = "[email protected]"
' destinatario
myMail.To = email
' messaggio
myMail.HTMLBody = "Ciao "&username&", la tua Password e "&password&")"
' send
myMail.Send
Set myMail = Nothing
' confermo e redirect
Response.Write("Password inviata all'indirizzo "&email)
Response.Write("<br>Ti consiglio una curetta di fosforo!")
'__________________________________________________________________________________
Else
' non esiste
Response.Write("<font color='#FF0000'>Email non presente, non sei registrato... muori!</form>")
End If

' chiudo e distruggo tutto
Rs.Close
Set Rs = Nothing ' chiudo il recordset

Else ' e-mail vuota

' Se non viene inerito alcun indirizzo email restituisco un messaggio di errore
Response.Write("<font color=#FF0000>Email errata... non te ne sei accorto!</form>")

End If ' chiudo controllo e-mail

End If ' chiudo tutto

%>
</p>
</body>
</html>:hammer:
 
Help recupero credenziali

...sono tornato dalle ferie, hai risolto il problema?

Ciao Paolo stavo cercando di usare il tuo codice ma quando inserisco le mail non la trova mai !!! ma sul db sono presenti
ci puoi dare un occhiata ? Grazie Mille

<html>
<body>
<h3 align="center">Hai dimenticato la Password?</h3>
<p align="center">Inserisci l'indirizzo email con cui ti sei registrato e la riceverai entro pochi minuti!</p>
<p align="center">
<form method="POST" action="credenzialiperse.asp?invia=PWD">
<input type="text" name="email" />
<input type="submit" value="OK" />
</form>
</p>
<p align="center">
<%

invia = Request.QueryString("invia")
email = Request.Form("email")

If invia = "PWD" Then

If email <> "" Then
'Apro la connessione al database e verifico che l'utente esista
strConnect ="driver={MySQL ODBC 3.51 Driver};Server=XX.XXX.XXX.XXX; Database=XXXXXXX;User=XXXXXXX;Password=XXXXXXXX;Option=3;"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.ActiveConnection = strConnect
Rs.Source = "SELECT * FROM login WHERE email= '"&email&"'"
Rs.CursorType = 0
Rs.CursorLocation = 2
Rs.LockType = 1
Rs.Open()
If NOT Rs.EOF Then

username = (Rs.Fields.Item("username").Value)
password = (Rs.Fields.Item("password").Value)

' esiste
'__________________________________________________________________________________
' configurazione mail
' Windows XP / 2003
cSmtpServer = "smtp.aruba.it"
cSmtpPort = "25"
cSMTPUser = ""
cSMTPPassword = ""

' invio e-mail di notifica
Set myMail = Server.CreateObject("CDO.Message")
'CDO Port (1=localhost 2=network)
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
'Out going SMTP server
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")= cSmtpServer
'SMTP port
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= cSmtpPort
'SMTP Server password
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendpassword") = cSMTPPassword
'SMTP Server username
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendusername") = cSMTPUser
'Timeout
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'Update
myMail.Configuration.Fields.Update
' Windows XP / 2003
' oggetto
myMail.Subject = "Password dimenticata"
' mittente
myMail.From = "[email protected]"
' destinatario
myMail.To = email
' messaggio
myMail.HTMLBody = "Ciao "&username&", la tua Password e "&password&")"
' send
myMail.Send
Set myMail = Nothing
' confermo e redirect
Response.Write("Password inviata all'indirizzo "&email)
Response.Write("<br>Ti consiglio una curetta di fosforo!")
'__________________________________________________________________________________
Else
' non esiste
Response.Write("<font color='#FF0000'>Email non presente, non sei registrato... muori!</form>")
End If

' chiudo e distruggo tutto
Rs.Close
Set Rs = Nothing ' chiudo il recordset

Else ' e-mail vuota

' Se non viene inerito alcun indirizzo email restituisco un messaggio di errore
Response.Write("<font color=#FF0000>Email errata... non te ne sei accorto!</form>")

End If ' chiudo controllo e-mail

End If ' chiudo tutto

%>
</p>
</body>
</html>
 
Ciao, ho testato il file e funziona, ti ripropongo il codice:

Codice:
<html>
<body>
<h3 align="center">Hai dimenticato la Password?</h3>
<p align="center">Inserisci l'indirizzo email con cui ti sei registrato e la riceverai entro pochi minuti!</p>

    <form method="POST" action="credenzialiperse.asp?invia=PWD">
    <p align="center"><input type="text" name="email" />&nbsp;<input type="submit" value="OK" /></p>
    </form>

<p align="center">
<%

	invia = Request.QueryString("invia")
	email = Request.Form("email")

If invia = "PWD" Then

If email <> "" Then
'Apro la connessione al database e verifico che l'utente esista

	strConnect ="driver={MySQL ODBC 3.51 Driver};Server=IP-DEL-SERVER; Database=Sql123456_1;User=Sql123456;Password=password;Option=3;"

Set Rs = Server.CreateObject("ADODB.Recordset")
	Rs.ActiveConnection = strConnect
	Rs.Source = "SELECT * FROM login WHERE email= '"&email&"'"
	Rs.CursorType = 0
	Rs.CursorLocation = 2
	Rs.LockType = 1
	Rs.Open()
	
If NOT Rs.EOF Then

		username = (Rs.Fields.Item("username").Value)
		password = (Rs.Fields.Item("password").Value)

' esiste
'_________________________________________________ _________________________________
' configurazione mail
' Windows XP / 2003
		cSmtpServer = "smtp.aruba.it"
		cSmtpPort = "25"
		cSMTPUser = ""
		cSMTPPassword = ""
		
		' invio e-mail di notifica
		Set myMail = Server.CreateObject("CDO.Message")
		'CDO Port (1=localhost 2=network)
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")= cSmtpServer
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= cSmtpPort
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendpassword") = cSMTPPassword
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendusername") = cSMTPUser
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
			myMail.Configuration.Fields.Update
			myMail.Subject = "Password dimenticata"
		' mittente
			myMail.From = "[email protected]"
		' destinatario
			myMail.To = email
		' messaggio
			myMail.HTMLBody = "Ciao "&username&", la tua Password e "&password&")"
		' send
			myMail.Send
		Set myMail = Nothing

' confermo e redirect
			Response.Write("Password inviata all'indirizzo "&email)
			Response.Write("<br>Ti consiglio una curetta di fosforo!")
'_________________________________________________ _________________________________
Else
' non esiste
			Response.Write("<font color='#FF0000'>Email non presente, non sei registrato... muori!</form>")
End If

' chiudo e distruggo tutto
Rs.Close
Set Rs = Nothing ' chiudo il recordset

Else ' e-mail vuota

' Se non viene inerito alcun indirizzo email restituisco un messaggio di errore
Response.Write("<font color=#FF0000>Email errata... non te ne sei accorto!</form>")

End If ' chiudo controllo e-mail

End If ' chiudo tutto

%>
</p>
</body>
</html>

link esembio con il db che mi hai inviato: http://www.caprioli.info/fitness/script/credenzialiperse.asp ...ovviamente provalo pure, non invia davvero la password :cool:

Paolo
 
Ciao, ho testato il file e funziona, ti ripropongo il codice:

Codice:
<html>
<body>
<h3 align="center">Hai dimenticato la Password?</h3>
<p align="center">Inserisci l'indirizzo email con cui ti sei registrato e la riceverai entro pochi minuti!</p>

    <form method="POST" action="credenzialiperse.asp?invia=PWD">
    <p align="center"><input type="text" name="email" />&nbsp;<input type="submit" value="OK" /></p>
    </form>

<p align="center">
<%

	invia = Request.QueryString("invia")
	email = Request.Form("email")

If invia = "PWD" Then

If email <> "" Then
'Apro la connessione al database e verifico che l'utente esista

	strConnect ="driver={MySQL ODBC 3.51 Driver};Server=IP-DEL-SERVER; Database=Sql123456_1;User=Sql123456;Password=password;Option=3;"

Set Rs = Server.CreateObject("ADODB.Recordset")
	Rs.ActiveConnection = strConnect
	Rs.Source = "SELECT * FROM login WHERE email= '"&email&"'"
	Rs.CursorType = 0
	Rs.CursorLocation = 2
	Rs.LockType = 1
	Rs.Open()
	
If NOT Rs.EOF Then

		username = (Rs.Fields.Item("username").Value)
		password = (Rs.Fields.Item("password").Value)

' esiste
'_________________________________________________ _________________________________
' configurazione mail
' Windows XP / 2003
		cSmtpServer = "smtp.aruba.it"
		cSmtpPort = "25"
		cSMTPUser = ""
		cSMTPPassword = ""
		
		' invio e-mail di notifica
		Set myMail = Server.CreateObject("CDO.Message")
		'CDO Port (1=localhost 2=network)
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")= cSmtpServer
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= cSmtpPort
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendpassword") = cSMTPPassword
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendusername") = cSMTPUser
			myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
			myMail.Configuration.Fields.Update
			myMail.Subject = "Password dimenticata"
		' mittente
			myMail.From = "[email protected]"
		' destinatario
			myMail.To = email
		' messaggio
			myMail.HTMLBody = "Ciao "&username&", la tua Password e "&password&")"
		' send
			myMail.Send
		Set myMail = Nothing

' confermo e redirect
			Response.Write("Password inviata all'indirizzo "&email)
			Response.Write("<br>Ti consiglio una curetta di fosforo!")
'_________________________________________________ _________________________________
Else
' non esiste
			Response.Write("<font color='#FF0000'>Email non presente, non sei registrato... muori!</form>")
End If

' chiudo e distruggo tutto
Rs.Close
Set Rs = Nothing ' chiudo il recordset

Else ' e-mail vuota

' Se non viene inerito alcun indirizzo email restituisco un messaggio di errore
Response.Write("<font color=#FF0000>Email errata... non te ne sei accorto!</form>")

End If ' chiudo controllo e-mail

End If ' chiudo tutto

%>
</p>
</body>
</html>

link esembio con il db che mi hai inviato: http://www.caprioli.info/fitness/script/credenzialiperse.asp ...ovviamente provalo pure, non invia davvero la password :cool:

Paolo

grazie Paolo mi dava lo stesso problema poi ho notato che il tuo funzionava
e sono riuscito a capire che chi creava il problema era il riempio automatico di safari !! dopo la mail mi inseriva anche dei spazi vuoti !!!
Grazie Mille della disponibilità luca
 
Finalmente ho trovato quello che cercavo da tempo...ovviamente piccolo problema...ma bando alle ciance.
Ho notato che vengono proposti 2 script differenti...1 chiede un database mysql e l'altro un file mdb nella cartella mdb-database.
Io utilizzo aruba e non ho attivo il protocollo mysql, quindi pensavo di creare una tabella mdb con access e inserirla nella cartella mdb-database su aruba.....ma non funziona ...se non inserisco nulla nel form mi avvisa....e-mail errata non te ne sei accorto...se inserisco qualcosa appare l'errore 500 errore internal server error.
Quindi la mia domanda è. ..il protocollo mysql è indispensabile anche se uso solo questo file mdb?
Purtroppo i file asp non si possono leggere altrimenti avrei copiato il codice dell'esempio funzionante e corretto i campi che mi interessano.
Spero qualcuno mi chiarisca la questione...grazie
 
Ultima modifica:
il problema era focalizzato sul DB, salvato nel formato errato (deve essere formato access 2000/2003) ed il nome della tabella era "tabella1" anzichè "Utenti", pubblico il codice per dovere di cronaca, ti mando via email i file corretti:
Codice:
<%
'Apro la connessione al database e verifico che l'utente esista
Dim strConnect
'   strConnect = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/members.mdb")
'    strConnect = "DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.MapPath("*.mdb") 'old connect
    strConnect = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("members_1.mdb")&";User Id=;Password=;"
  
%><html>
<body>
<h3 align="center">Hai dimenticato la Password?</h3>
<p align="center">Inserisci l'indirizzo email con cui ti sei registrato e la riceverai entro pochi minuti!</p>
<p align="center">
<form method="POST" action="prova.asp?invia=PWD">
<input type="text" name="email" />
<input type="submit" value="OK" />
</form>
</p>
<p align="center">
<%

invia = Request.QueryString("invia")
email = Request.Form("email")

If invia = "PWD" Then

If email <> "" Then
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.ActiveConnection = strConnect
Rs.Source = "SELECT * FROM utenti WHERE email = '"&email&"'"
Rs.CursorType = 0
Rs.CursorLocation = 2
Rs.LockType = 1
Rs.Open()
If NOT Rs.EOF Then

username = (Rs.Fields.Item("username").Value)
password = (Rs.Fields.Item("password").Value)

' esiste
'__________________________________________________________________________________
' configurazione mail
' Windows XP / 2003
cSmtpServer    = "smtp.aruba.it"
cSmtpPort    = "25"
cSMTPUser    = "[email protected]"
cSMTPPassword    = "password"

' invio e-mail di notifica
Set myMail = Server.CreateObject("CDO.Message")
'CDO Port (1=localhost 2=network)
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
'Out going SMTP server
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")= cSmtpServer
'SMTP port
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= cSmtpPort
'SMTP Server password  
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendpassword") = cSMTPPassword
'SMTP Server username
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/c-do/configuration/sendusername") = cSMTPUser
'Timeout
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'Update  
myMail.Configuration.Fields.Update
' Windows XP / 2003
' oggetto
myMail.Subject = "Password dimenticata"
' mittente
myMail.From = "[email protected]"
' destinatario
myMail.To    = email
' messaggio
myMail.HTMLBody = "Ciao "&username&", la tua Password e "&password&")"
' send
myMail.Send
Set myMail = Nothing
' confermo e redirect
Response.Write("Password inviata all'indirizzo "&email)
Response.Write("<br>Ti consiglio una curetta di fosforo!")
'__________________________________________________________________________________
Else
' non esiste
Response.Write("<font color='#FF0000'>Email non presente, non sei registrato... muori!</form>")
End If

' chiudo e distruggo tutto
Rs.Close
Set Rs = Nothing ' chiudo il recordset

Else ' e-mail vuota

' Se non viene inerito alcun indirizzo email restituisco un messaggio di errore
Response.Write("<font color=#FF0000>Email errata... non te ne sei accorto!</form>")

End If ' chiudo controllo e-mail

End If ' chiudo tutto

%>
</p>
</body>
</html>
 

Discussioni simili