Login Con Opzione "ricorda Password"

  • Creatore Discussione Creatore Discussione serpico
  • Data di inizio Data di inizio

serpico

Utente Attivo
22 Ago 2004
56
0
0
Carissimi: AiuTAteMi!!!!!!
con questo codice:

Codice:
<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("username"))
If MM_valUsername <> "" Then
  MM_fldUserAuthorization=""
  MM_redirectLoginSuccess="registrazione/login_ok.asp"
  MM_redirectLoginFailed="registrazione/no_login.asp"
  MM_flag="ADODB.Recordset"
  set MM_rsUser = Server.CreateObject(MM_flag)
  MM_rsUser.ActiveConnection = MM_connRegistrazione_STRING
  MM_rsUser.Source = "SELECT username, password"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM utenti WHERE username='" & Replace(MM_valUsername,"'","''") &"' AND password='" & Replace(Request.Form("password"),"'","''") & "'"
  MM_rsUser.CursorType = 0
  MM_rsUser.CursorLocation = 2
  MM_rsUser.LockType = 3
  MM_rsUser.Open
  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then 
    ' username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And false Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginSuccess)
  End If
  MM_rsUser.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
if Session("MM_Username")<> "" Then
response.write "benvenuto  <b>"& Session("MM_Username")&"</b>"& vbNewLine & _
"<form method=""POST"" action=""logout2.asp"">"& vbNewLine & _
          "<div align=""center""><font face=""Verdana"" size=""1"" color=""#FF794B""> "& vbNewLine & _
            "<input name=""submit2"" type=""submit"" style=""color: #486C98; background-color: #ffffff; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px;"" value=""Logout"" size=""20"">"& vbNewLine & _
           " </font></div>"& vbNewLine & _
        "</form>"& vbNewLine
else
response.write "<form name=""form1"" id=""form1"" method=""POST"" action="&MM_LoginAction&">"& vbNewLine & _
                "<table border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"">"& vbNewLine & _
                  "<tr>"& vbNewLine & _
                    "<td height=""28"" colspan=""2""><font size=""1"" face=""verdana"">Username:</font><br>"& vbNewLine & _
                     "<input name=""username"" type=""text"" id=""username"" size=""20"" style=""color : #486C98; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px; font-weight: bold;"" /> "& vbNewLine & _
                    "</td>"& vbNewLine & _
                  "</tr>"& vbNewLine & _
                  "<tr>"& vbNewLine & _
                    "<td height=""28"" colspan=""2""><font size=""1"" face=""verdana"">Password:</font>"& vbNewLine & _
                      "<br>"& vbNewLine & _
                      "<input name=""password"" type=""password"" id=""password"" size=""20"" style=""color : #486C98; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px; font-weight: bold;"" />"& vbNewLine & _ 
                    "</td>"& vbNewLine & _
                  "</tr>"& vbNewLine & _
                  "<tr> "& vbNewLine & _
                    "<td width=""110"" height=""28""> </td>"& vbNewLine & _
                    "<td width=""240"" height=""28""><input name=""submit2"" type=""submit"" style=""color: #486C98; background-color: #ffffff; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px;"" value=""Entra"" size=""20"">"& vbNewLine & _ 
                    "</td>"& vbNewLine & _
                  "</tr>"& vbNewLine & _
                "</table>"& vbNewLine & _
        "</form>"& vbNewLine & _
	"Non sei registrato?<br> <a href=""registrazione/registrazione.asp""><b>Registrati</b></a><br><hr>"& vbNewLine & _
		"Hai perso la pasword?<br> <a href=""registrazione/invia_passw.asp""><b>Recupera password</b></a>"& vbNewLine
end if%>


eseguo un login!
Ora quello che vorrei è di inserire l'opzione "ricorda password" in maniera tale che l'utente una volta loggatosi possa, una volta tornato sul sito, evitare la procedura di login! ho provato in vari modi, ma essendo codice di dreamweaver (e vorrei continuare a mantere questo codice!), non riesco a venirne a capo! qualcuno di voi può darmi una mano!?!?
 
Guarda, Dreamweaver scrive 497 righe di codice quando ne bastano 3, ma in ogni caso il problema dovrebbe potersi agirare, a meno che Dreameaver stesso non crei casini se scrivi qualcosa a mano.

Non trovo un esempio già fatto, eppure ricordavo di averlo scritto... comunque è semplice:

1. crea un form in cui inserire la mail;

2. cerca quella mail sul database nella tabella degli utenti estraendo il campo password;

3. invia la mail all'indirizzo inserito specificando il campo password in corrispondenza di quella mail.

Spero di esserti stato di aiuto!
 
grazie infinite dell'attenzione: però non è questo quello che cerco. quello che ti chiedevo era di aiutarmi nell'implementare il codice da me postato inserendo delle righe di codice (purtroppo secondo la logica di dreamweaver, lì è il problema) in maniera tale da far venir fuori il login con il box "ricorda password" che una volta spuntato al momento del login permetta all'utente nella prossima visita di non ripetere il login!
p.s.: non creco aiuto nel far apparire il box chekkato "ricorda password" ma nelle righe di codice! comunque grazie... sono onorato!
 
Ultima modifica:
anche con questo altro script non riesco (almeno qui non c'è dreamweaver!)

Codice:
<%
If Request.QueryString("step") = "2" THEN
	'Rimuovo l'username e la password da caratteri illegali come per esempio '.
	str_username = Replace(Request.Form("username"), "'", "''")
	str_password = Replace(Request.Form("password"), "'", "''")

	Set rs_login = Server.CreateObject ("ADODB.RecordSet")
	strSQL = "SELECT * FROM tbl_authors WHERE name='" & str_username & "' AND pass='" & str_password & "'"
	rs_login.open strSQL,adoCon

	'Se la combinazione username e password non esiste, reindirizzo l'utente ad un altra pagina
	If rs_login.EOF _
	Or rs_login.BOF Then
		Response.Redirect("login_errato.asp")
	Else
		'Scrivo l'user code nel cookie
		Response.Cookies("Login")("userCode") = rs_login("code")
		'Reindirizzo alla pagina appropriata
		If adminEmail = "info@dominio.com" AND str_password = "admin" Then
			Response.Redirect("setup.asp?setup=firstTime")
		Else
			Response.redirect("visualizza_profilo.asp")
		End If
	End If
End if
%>
 
non hai idea da quanto tempo ti seguo (e non è una semplice sviolinata :elvis:) cmq quei due tutorial li conosco bene ed ho già cercato di applicarli ma senza alcun risultato! a me servirebbe implementare i due codici riportati su (quello di dreamveawer e l'ultimo senza dreamweaver) puoi aiutarmi?! please?!!? :crying: :beer:
 
allora, per quanto riguarda il codice dreamweaver, no so proprio dove mettere i polpastrelli! ma mi piacerebbe tantissimo completarlo inserendo l'opzione "ricorda password"

per quanto invece riguarda il secondo codice questo è l'originale:
Codice:
<%If Request.QueryString("step") = "2" THEN
	'Rimuovo l'username e la password da caratteri illegali come per esempio '.
	str_username = Replace(Request.Form("username"), "'", "''")
	str_password = Replace(Request.Form("password"), "'", "''")

	Set rs_login = Server.CreateObject ("ADODB.RecordSet")
	strSQL = "SELECT * FROM tbl_authors WHERE name='" & str_username & "' AND pass='" & str_password & "'"
	rs_login.open strSQL,adoCon

	'Se la combinazione username e password non esiste, reindirizzo l'utente ad un altra pagina
	If rs_login.EOF _
	Or rs_login.BOF Then
		Response.Redirect("login_errato.asp")
	Else
		'Scrivo l'user code nel cookie
		Response.Cookies("Login")("userCode") = rs_login("code")
		'Reindirizzo alla pagina appropriata
		If adminEmail = "info@dominio.com" AND str_password = "admin" Then
			Response.Redirect("setup.asp?setup=firstTime")
		Else
			Response.redirect("visualizza_profilo.asp")
		End If
	End If
End if
%>

ed io l'ho modificato così (riporto in grassetto le parti aggiunte):

Codice:
<%
[B]procedi = false
if request.cookies("login").hasKeys then
str_username = request.cookies("login")("username")
str_password = request.cookies("login")("password")
else
str_username = request.form("username")
str_password = request.forn("password")
ricorda = request.form("ricorda")
end if

if len(str_username) > 0 and len(str_password) > 0 then
str_username = replace([B]"[/B]username[B]"[/B],"'","''")
str_password = replace([B]"[/B]password[B]"[/B],"'","''")

if len(ricorda) > 0 and isNumeric(ricorda) then

ricorda = cLng(ricorda)
else
ricorda = 0
end if
if not rs.eof then
  session("login") = true
  procedi = true
    if ricorda = 1 then
      response.cookies("login")("username") = str_username 
      response.cookies("login")("password") = str_password
      response.cookies("login").expires = dateAdd("d",30,date())
    end if
  end if
end if[/B]
If Request.QueryString("step") = "2" THEN
	'Rimuovo l'username e la password da caratteri illegali come per esempio '.
	str_username = Replace(Request.Form("username"), "'", "''")
	str_password = Replace(Request.Form("password"), "'", "''")

	Set rs_login = Server.CreateObject ("ADODB.RecordSet")
	strSQL = "SELECT * FROM tbl_authors WHERE name='" & str_username & "' AND pass='" & str_password & "'"
	rs_login.open strSQL,adoCon

	'Se la combinazione username e password non esiste, reindirizzo l'utente ad un altra pagina
	If rs_login.EOF _
	Or rs_login.BOF Then
		Response.Redirect("login_errato.asp")
	Else
		'Scrivo l'user code nel cookie
		Response.Cookies("Login")("userCode") = rs_login("code")
		'Reindirizzo alla pagina appropriata
		If adminEmail = "info@dominio.com" AND str_password = "admin" Then
			Response.Redirect("setup.asp?setup=firstTime")
		Else
			Response.redirect("visualizza_profilo.asp")
		End If
	End If
End if
%>

il login me lo fa, solo che se chiudo la pagina e ci ritorno mi chiede sempre di rifare il login, quindi suppongo non funga aemhhhmmm perfettamente!
devo forse in entrambi i casi (dreamwever e quest'ultimo) aggiungere un campo nel db?!
damme na mano luke per entrambi dai!!!
 
Ultima modifica:
questo è il codice senza dreamweaver che nemmeno riuscivo a far fungere guarda mi sa che ora funge! guarda se ho fatto bene! (in grassetto le modifiche apportate):
Codice:
<%
If Request.QueryString("step") = "2" THEN
	'Rimuovo l'username e la password da caratteri illegali come per esempio '.
	str_username = Replace(Request.Form("username"), "'", "''")
	str_password = Replace(Request.Form("password"), "'", "''")
[B]ricorda = request.form("ricorda")[/B]

	Set rs_login = Server.CreateObject ("ADODB.RecordSet")
	strSQL = "SELECT * FROM tbl_authors WHERE name='" & str_username & "' AND pass='" & str_password & "'"
	rs_login.open strSQL,adoCon

	'Se la combinazione username e password non esiste, reindirizzo l'utente ad un altra pagina
	If rs_login.EOF _
	Or rs_login.BOF Then
		Response.Redirect("login_errato.asp")
	Else
		'Scrivo l'user code nel cookie
[B]if ricorda = 0 then
Response.Cookies("Login")("userCode") = rs_login("code")
end if

if ricorda = 1 then
Response.Cookies("Login")("userCode") = rs_login("code")
response.cookies("login").expires = dateAdd("d",30,date())
end if [/B]
		'Reindirizzo alla pagina appropriata
		If adminEmail = "info@dominio.com" AND str_password = "admin" Then
			Response.Redirect("setup.asp?setup=firstTime")
		Else
			Response.redirect("visualizza_profilo.asp")
		End If
	End If
End if
%>


adesso sembra che funzioni secondo te va bene!?! e se si potremmo applicare più o meno lo stesso metodo a quello con il dreamweaver che al momento ho modificato così ma che cmq non funge!:

Codice:
<%' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("username"))


[B]if request.cookies("login").hasKeys then
	MM_valUsername = request.cookies("login")("username")
	MM_valPassword = request.cookies("login")("password")
else
	MM_valUsername = request.form("username")
	MM_valPassword = request.form("password")
	ricorda = request.form("ricorda")
end if[/B]
If MM_valUsername <> "" Then
  MM_fldUserAuthorization=""
  MM_redirectLoginSuccess="registrazione/login_ok.asp"
  MM_redirectLoginFailed="registrazione/no_login.asp"
  MM_flag="ADODB.Recordset"
  set MM_rsUser = Server.CreateObject(MM_flag)
  MM_rsUser.ActiveConnection = MM_connRegistrazione_STRING
  MM_rsUser.Source = "SELECT username, password"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM utenti WHERE username='" & Replace(MM_valUsername,"'","''") &"' AND password='" & Replace(MM_valPassword,"'","''") & "'"
  MM_rsUser.CursorType = 0
  MM_rsUser.CursorLocation = 2
  MM_rsUser.LockType = 3
  MM_rsUser.Open
  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then 
    ' username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And false Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginSuccess)
  End If
  MM_rsUser.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
if Session("MM_Username")<> "" Then

	[B]if ricorda = "1"  then
		response.cookies("login")("username") = MM_valUsername
      	response.cookies("login")("password") = MM_valPassword
      	response.cookies("login").expires = dateAdd("d",30,date())
	end if[/B]
response.write "benvenuto  <b>"& Session("MM_Username")&"</b>"& vbNewLine & _
"<form method=""POST"" action=""logout2.asp"">"& vbNewLine & _
          "<div align=""left""><font face=""Verdana"" size=""1"" color=""#FF794B""> "& vbNewLine & _
            "<input name=""submit2"" type=""submit"" style=""color: #486C98; background-color: #ffffff; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px;"" value=""Logout"" size=""20"">"& vbNewLine & _
           " </font></div>"& vbNewLine & _
        "</form>"& vbNewLine
else
response.write "<form name=""form1"" id=""form1"" method=""POST"" action="&MM_LoginAction&">"& vbNewLine & _
                "<table border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"">"& vbNewLine & _
                  "<tr>"& vbNewLine & _
                    "<td height=""28"" colspan=""2""><font size=""1"" face=""verdana"">Username:</font><br>"& vbNewLine & _
                     "<input name=""username"" type=""text"" id=""username"" size=""20"" style=""color : #486C98; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px; font-weight: bold;"" /> "& vbNewLine & _
                    "</td>"& vbNewLine & _
                  "</tr>"& vbNewLine & _
                  "<tr>"& vbNewLine & _
                    "<td height=""28"" colspan=""2""><font size=""1"" face=""verdana"">Password:</font>"& vbNewLine & _
                      "<br>"& vbNewLine & _
                      "<input name=""password"" type=""password"" id=""password"" size=""20"" style=""color : #486C98; background : #FFFFFF; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px; font-weight: bold;"" />"& vbNewLine & _ 
                    "</td>"& vbNewLine & _
                  "</tr>"& vbNewLine & _
                  "<tr> "& vbNewLine & _
                    "<td width=""110"" height=""28"">Ricordati di me <input name=""ricorda"" type=""checkbox"" value=""1"" checked/></td></tr>"& vbNewLine & _          
           "<tr><td width=""240"" height=""28""><input name=""submit2"" type=""submit"" style=""color: #486C98; background-color: #ffffff; border-top : 1px solid; border-bottom : 1px solid; border-left : 1px solid; border-right : 1px solid; font-family : Verdana,tahoma,Arial; font-size : 10px;"" value=""Entra"" size=""20"">"& vbNewLine & _ 
                    "</td>"& vbNewLine & _
                  "</tr>"& vbNewLine & _
                "</table>"& vbNewLine & _
        "</form>"& vbNewLine & _
	"Non sei registrato?<br> <a href=""registrazione/registrazione.asp""><b>Registrati</b></a><br><hr>"& vbNewLine & _
		"Hai perso la pasword?<br> <a href=""registrazione/invia_passw.asp""><b>Recupera password</b></a>"& vbNewLine
end if%>
 
'scolta luke... non è che però puoi aiutarmi a risolvere sto problema col codice DW!?!
 

Discussioni simili