Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CHANGEMENT DE MOT DE PASSE ASP-ACCESS


Information sur la source

Catégorie :SQL Classé sous : modifier, pass, password, access, update Niveau : Initié Date de création : 13/03/2005 Date de mise à jour : 20/03/2005 00:20:16 Vu : 10 584

Note :
6 / 10 - par 1 personne
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

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

  • <%@ 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)">&lt; Retour au formulaire</a></b></span></font></p>
  • </body>
  • </html>
<%@ 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)">&lt; Retour au formulaire</a></b></span></font></p>
</body>
</html>

Historique

20 mars 2005 00:20:17 :
Correction de bug - Bon, ce code a été corrigé - il fonctionne parfaitement - c sûr

Commentaires et avis

signaler à un administrateur
Commentaire de ThunderPsycho le 14/03/2005 11:21:21

Tout ça pour ça ???
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)

signaler à un administrateur
Commentaire de saadzizou le 01/11/2006 21:52:47

très très bonne source,Mercii bcp,tu me sauves la peau (k)

signaler à un administrateur
Commentaire de OPSIO le 13/07/2007 12:11:20

Hélas, si l'on considère que plusieurs personnes peuvent avoir le même mot de passe, je vous laisse imaginer les conséquences de l'update !

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.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

UPDATE dans ACCESS [ par Titrax ] Voila mon programme :SQL="UPDATE Personne SET Connect='1' WHERE Nom='" & Pseudo & "';"Set RS=Server.CreateObject("ADODB.RECORDSET")RS.Open SQL,Baseet ERREUR AVEC ASP ET UPDATE DANS BD ACCESS [ par FLASH ] Je me connecte à ma bd (access 97) et après avoir fait soit un update, un delete ou un insert, j'ai un message d'erreur ADOBD.Recordset erreur '800a0e ERREUR AVEC ASP ET UPDATE DANS BD ACCESS [ par FLASH ] Je me connecte à ma bd (access 97) et après avoir fait soit un update, un delete ou un insert, j'ai un message d'erreur ADOBD.Recordset erreur '800a0e ERREUR AVEC ASP ET UPDATE DANS BD ACCESS [ par FLASH ] Je me connecte à ma bd (access 97) et après avoir fait soit un update, un delete ou un insert, j'ai un message d'erreur ADOBD.Recordset erreur '800a0e UPDATE+ACCESS+IIS5+WIN xp pro [ par seblo ] Bonjour à tous ,un tit prob : deconnexion = request.querystring("deconnexion") SQL2="UPDATE connecte SET connect_now = 0 where connect_pse impossible de modifier la base acess [ par ykane ] j'ai visual studio.net et access 2000 données et comme langage(asp.net et vb.net).J'ai le message d'erreur "[Microsoft][Pilote ODBC Microsoft Access] mise à jour champ date sur access par update (SQL) [ par caussieu ] Bonjour,Voici le code utilisé pour mettre à jour la base de données Access sous ASP / SQL : sql = "Update animations Set animation='"&animation&"', li Comment Modifier une Base (acccess) via formulaire ASP [ par battleduck91 ] Bonjour à tous,Je viens ici poster ce message car je recherche déséspérément une solution. Voilà, je vais essayer de poser mon problème clairement :- connexion a une base access en asp. [ par Dyr3e ] bonjour,je suis debutant en asp, et je cherhce a realiser une connexion a un BD access. Je voulias savoir si il etait possible d'acitver la connection password dreamweaver [ par poseric ] voici le code inscrits&lt;cfif IsDefined("FORM.nom")&gt;&nbsp; &lt;cfset MM_redirectLoginSuccess="gagner.htm"&gt;&nbsp; &lt;cfset MM_redirectLoginFail


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.