Changement de mot de passe asp-access

Contenu du snippet

Supposons qu'on veut permettre aux utilisateurs de changer leurs mots de passe, on réalise un formulaire avec les champs (ancien) ou on tape l'ancien mot de passe, un champ (nouveau1) pour taper le nouveau mot de passe désiré et un autre champ (nouveau2) pour saisir la confirmation du nouveau mot de passe.

Le formulaire sera dans une page par exemple update.htm dont il sera tarité dans la page
updateConfirm.asp comme:

<form method="post" action="updateConfirm.asp">

Vous trouverez copyright et commentaires dans le code

Source / Exemple :


<%@ 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>

A voir également

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.