Soyez le premier à donner votre avis sur cette source.
Snippet vu 19 273 fois - Téléchargée 32 fois
<%@ LANGUAGE = "VBScript" %> <% ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Changement de mot de passe ASP/ACCESS ' ' Auteur: Farid - ALGERIE / Site Web: www.farid.f2o.org ' ' E-mail: sidoummoudz@yahoo.fr ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Ce code est gratuit. Ces lignes de commentaires doivent ' ' être conservées pour son utilisation légale. ' ' Il a été testé sous IIS v.5, Windows XP Professionnel ' ' Service Pack 2 et Internet Explorer 6 ' ' Bonne utilisation a tous et @ ++ ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ancien=Request.Form("ancien") nouveau1=Request.Form("nouveau1") nouveau2=Request.Form("nouveau2") ' Si le premier champ (ancien mot de passe) a été laissé vide if Request.Form("ancien")="" then response.write "<p align='center'><font face='Arial' color='red'><span style='font-size:10pt;'><b>Champ ancien mot de passe vide" ' Si le deuxieme champ (nouveau mot de passe) a été laissé vide else if Request.Form("nouveau1")="" then response.write "<p align='center'><font face='Arial' color='red'><span style='font-size:10pt;'><b>Champ nouveau mot de passe vide" ' Si le troisieme champ (confirmation du nouveau mot de passe) a été laissé vide else if Request.Form("nouveau2")="" then response.write "<p align='center'><font face='Arial' color='red'><span style='font-size:10pt;'><b>Champ confirmation de mot de passe vide" ' Si le nouveau mot de passe n'est pas confirmé d'une facon valide else if Request.Form("nouveau1")<> Request.Form("nouveau2") then response.write "<p align='center'><font face='Arial' color='red'><span style='font-size:10pt;'><b>Veuillez ressaisir le même nouveau mot de passe" else 'sinon Set OBJdbConnection = Server.CreateObject("ADODB.Connection") connpath = "DBQ=" & Server.MapPath("bd1.mdb") OBJdbConnection.Open "Driver={Microsoft Access Driver (*.mdb)}; " & connpath SQLQuery = "SELECT password FROM administration where password='"&ancien&"'" Set RS = OBJdbConnection.Execute(SQLQuery) 'si rien n'a été trouvé If rs.eof Then 'Le mot de passe n'éxiste pas response.write "<br><p align=center><font face=Verdana color=red><b>Ce mot de passe semble invalide<br><br>" else ' Sinon (si tout va bien) changement du mot de passe SQLstmt = "UPDATE administration SET password='" & nouveau1 & "' WHERE password='" & ancien & "'" Set requete = OBJdbConnection.Execute(SQLStmt) ' generation des messages d'erreurs If err.number>0 then response.write "VBScript Errors Occured:" & "<P>" response.write "Error Number=" & err.number & "<P>" response.write "Error Descr.=" & err.description & "<P>" response.write "Help Context=" & err.helpcontext & "<P>" response.write "Help Path=" & err.helppath & "<P>" response.write "Native Error=" & err.nativeerror & "<P>" response.write "Source=" & err.source & "<P>" response.write "SQLState=" & err.sqlstate & "<P>" end if IF OBJdbConnection.errors.count> 0 then response.write "Database Errors Occured" & "<P>" response.write SQLstmt & "<P>" for counter= 0 to OBJdbConnection.errors.count response.write "Error #" & OBJdbConnection.errors(counter).number & "<P>" response.write "Error desc. -> " & OBJdbConnection.errors(counter).description & "<P>" next requete.close set requete=nothing else ' Sinon (si changement effectué) un message comme bravo response.write "<p align='center'><font face='Arial' color='navy'><span style='font-size:10pt;'><B>Everything Went Fine. Record is updated now!</b>" response.write "<br>" & SQLstmt 'vous pouvez ignorez cette ligne puisque elle affiche le changement, ce qu'il est peut-être indésirable pour vous end if End if RS.close set RS=nothing OBJdbConnection.close Set OBJdbConnection = nothing 'fin de toutes les ifs End if End if End if End if %> <html> <head> <title>Sans titre</title> <meta name="generator" content="Namo WebEditor v5.0"> </head> <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <p align="center"><font face="Verdana"><span style="font-size:10pt;"><b><a href="javascript:history.back(-1)">< Retour au formulaire</a></b></span></font></p> </body> </html>
13 juil. 2007 à 12:11
Il faut donc associer le mot de passe à un accès (unique : email, pseudo, identifiant fourni par le serveur), et il n'y a plus qu'à modifier le mot de passe correspondant à l'accès et à l'ancien mot de passe. Update administration set password=nouveau where id_acces=xxx and password=ancien. Si rien n'est modifié, avec un id_acces valide, c'est que l'ancien password n'est pas le bon.
l'id_acces étant récupéré et stocké en variable de session au moment de l'authentification, puis nettoyé en fin se session. Cela permet aussi en testant cette variable de session de savoir si l'authentification a eu lieu ou pas.
1 nov. 2006 à 21:52
14 mars 2005 à 11:21
Bon ton code est propre et commenté heureusement avec un joli détail d'erreur pour la connection on en voie pas assez je trouve :o))).....
Mais je pense que ça mérite d'être un peu plus exploité, avec un petit <SELECT> pour lister les utilisateurs par exemple (qui apparement seraient listés dans la table 'users' ?!?) et puis je sais pas la gestion de quelques options.....Je suis peut-être trop exigeant... :o)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.