IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Permettre aux utilisateurs de changer de mot de passe


Sujet :

ASP

  1. #41
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    Voila, j'ai essayé ton code. Voici la page de résultat :
    login = hari-beau@gmail.com
    ancien = 1234
    nouveau1 = 8899
    nouveau2 = 8899
    sql = SELECT * FROM Donnee where Pass = '1234'
    Bien joué !
    Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'

    [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans la clause FROM.

    /test/changement.asp, ligne 49
    Et voici ma ligne 49 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RS.Open "SELECT * FROM Donnee where Email='" & login & "'", Connstring, 2,3,2
      0  0

  2. #42
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    réessaye ce code complet svp je voudrais vérifier quelque chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <% 
    Response.AddHeader "Pragma", "no-cache"
    Response.AddHeader "cache-control", "no-store"
     
    if Session("access") = "" then
    	response.redirect ("Inscription.asp")
    end if
    'Récupérer les variables de mon formulaire
    ancien = Request.Form("ancien") 
    nouveau1 = Request.Form("nouveau1")
    nouveau2 = Request.Form("nouveau2")
     
    response.write "login = " & login & "<br>"
    response.write "ancien = " & ancien & "<br>"
    response.write "nouveau1 = " & nouveau1 & "<br>"
    response.write "nouveau2 = " & nouveau2 & "<br>"
     
    Set cnn = Server.CreateObject("ADODB.Connection")
    ConnString = "DBQ=" & Server.MapPath("/test/Inscription.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25"
    cnn.Open ConnString
    SQL = "SELECT * FROM Donnee where Pass = '" & ancien & "'"
    Set RS = Cnn.Execute(SQL)
    Response.Write "sql = " & SQL& "<br>"
     
    if rs.eof or rs.bof then
    	response.write "Raté !<br>"
    else
    	response.write "Bien joué !<br>"
    end if
     
    response.write "Second SQl<br>"
    'Set RS = server.createObject("ADODB.RecordSet")
    'ConnString = "DBQ=" & Server.MapPath("/test/Inscription.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25"
    'cnn.Open ConnString
    sql =  "SELECT * FROM Donnee where Email='" & login & "'", Connstring, 2,3,2
    Set RS = Cnn.Execute(SQL)
    Response.Write "sql = " & SQL& "<br>" 
     
    if not rs.eof or rs.bof then
      rs("pass")= nouveau1
      rs.update
    end if
     
    RS.Close()
    Set RS = Nothing    
    %>
      0  0

  3. #43
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    Voila la page qui s'affiche :
    Microsoft VBScript compilation erreur '800a0401'

    Expected end of statement

    /test/changement.asp, ligne 51

    sql = "SELECT * FROM Donnee where Email='" & login & "'", Connstring, 2,3,2
      0  0

  4. #44
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    essaye simplement avec cela stp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT * FROM Donnee where Email='" & login & "'", Connstring, 2,3,2
      0  0

  5. #45
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    désolé trop vite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT * FROM Donnee where Email='" & login & "'"
      0  0

  6. #46
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    Il me met a ce moment la une erreur a la ligne que je viens de modifié :
    ADODB.Recordset erreur '800a0cb3'

    Le jeu d'enregistrements suivant ne prend pas en charge la mise à jour. Il s'agit peut-être d'une limitation du fournisseur ou du type de verrou sélectionné.

    /test/changement.asp, ligne 54
      0  0

  7. #47
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    j'ai un peux de peine avec ta connexion car voici la procédure que j'utilise et je n'ai aucun problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set dbConnection = Server.CreateObject("ADODB.Connection")
    dbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.mappath("GestDoc.mdb")&"; Persist Security Info=False"
    set objRs = Server.CreateObject("ADODB.Recordset")
    set objCmd = Server.CreateObject("ADODB.Command")
    set objCmd.ActiveConnection = dbConnection
    objCmd.CommandText = "UPDATE WI_NEWS_F SET NEWSLIB='"&left(sNews_Label,99) &"'" WHERE NEWSNUM = "& clng(mySmartUpload.Form("News_Num"))
    set objRs = objCmd.Execute
    si tu veux on peux essayer d'adapter ton code à cette syntaxe
      0  0

  8. #48
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    Je veux bien modifier ma connexion, car la on bloque.
    Par contre il faudra que tu m'explique pas mal de chose.
    Je n'ai pas utiliser une seul fois ton type de connexion. Cela va-t-il changer quelque chose ? Je peux laisser mes autre connexion comme je les ai faites ?
      0  0

  9. #49
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    oui la modification de syntaxe n'aura d'effet que dans cette page uniquement.

    y a t 'il d'autre code dans cette page ?
      0  0

  10. #50
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    non, j'ai copier tout le code avant. Cette page ne me sert qu'a modifier le mot de passe.
    On doit changer donc mes deux connexion ? Celle pour comparer l'ancien mot de passe et celle pour enregistrer le nouveau ?
    Ou est-ce que je peux garder la 1ère, qui fonctionne bien ?
      0  0

  11. #51
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    laisses mois quelques minutes et avant 11h30 je t'envoi un premier test
      0  0

  12. #52
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    Pas de soucis, c'est vraiment gentil de m'aider !!!
      0  0

  13. #53
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    J'avoue que je seche un peu, là. La syntaxe est correcte est je ne vois aucun bug.
    Sauf, peut-être, que rs est déclaré plusieurs fois par set. Il faudrait (peut-être) rajouter avant de le re-déclarer.


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.
      0  0

  14. #54
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    voilà, essaye de remplacer ton code par ceci, regarde bien mes commentaires avant de l'exécuter car j'ai posé plusieurs question notamment au noveau du login. j'ai peut être mal vu mais je ne vois pas d'où vient la variable login probablemetn un oublie dans el copier coller de ma part et l'erreur vient peut etre de là

    je dois m'absenter un bon moment je serai de retour vers 14h00 pour la suite du dépannage

    <%
    Response.AddHeader "Pragma", "no-cache"
    Response.AddHeader "cache-control", "no-store"

    if Session("access") = "" then
    'ton utilisateur n a pas ouvert de compte donc il est redirigé vers la page d inscription
    response.redirect ("Inscription.asp")
    else
    'Pavé de création de connexion, de recorset et de commande
    Set dbConnection = Server.CreateObject("ADODB.Connection")
    dbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.mappath("/test/Inscription.mdb")&"; Persist Security Info=False"
    set objRs = Server.CreateObject("ADODB.Recordset")
    set objCmd = Server.CreateObject("ADODB.Command")
    set objCmd.ActiveConnection = dbConnection
    'Ici je ne peux que trop te conseiller de remplacer l'* par le nom d'un champ par exemple ID ou pass pour limiter le volume du recordset, pas la peine de ramener toutes les données de l'enregistrement
    objCmd.CommandText = "SELECT * FROM Donnee WHERE Pass = '" & Request.Form("ancien") & "'"
    set objRs = objCmd.Execute

    if objRs.eof or objRs.bof then
    response.write "Raté !<br>"
    else
    response.write "Bien joué !<br>"
    end if
    'je suppose que le login vient également du formulaire je n'en trouve pas la trace dans ton code source, le plantage vient peut être de cela.
    'même remarque pour l'étoile que dasn le select précédent
    objCmd.CommandText = "SELECT * FROM Donnee WHERE Email='" & Request.Form("login") & "'"
    set objRs = objCmd.Execute

    if not objRs.eof or objRsbof then
    objCmd.CommandText = "UPDATE Donnee SET PASS='"&Request.Form("nouveau2")&"' WHERE Email='"& Request.Form("login")&"'"
    set objRs = objCmd.Execute
    end if

    set objCmd = nothing
    set objRs=nothing
    dbConnection.close
    set dbConnection = nothing
    end if
    %>
      0  0

  15. #55
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup, je vais étudier ton code et le tester !
    login est une variable que j'ai récupéré de la session.
    J'avais fait comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <% 
    	Response.AddHeader "Pragma", "no-cache"
    	Response.AddHeader "cache-control", "no-store"
     
    	if Session("access") = "" then
    		response.redirect ("Inscription.asp")
    	end if
     
    login = Session("access")
     
    %>
    Je ne sais pas si tu comprend.
      0  0

  16. #56
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    mais c'est bien sur j'avais oublié

    voici le code corrigé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <% 
    Response.AddHeader "Pragma", "no-cache"
    Response.AddHeader "cache-control", "no-store"
     
    if Session("access") = "" then
    	'ton utilisateur n a pas ouvert de compte donc il est redirigé vers la page d inscription
    	response.redirect ("Inscription.asp")
    else
    	'Pavé de création de connexion, de recorset et de commande 
    	Set dbConnection = Server.CreateObject("ADODB.Connection")
    	dbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.mappath("/test/Inscription.mdb")&"; Persist Security Info=False"
    	set objRs = Server.CreateObject("ADODB.Recordset")
    	set objCmd = Server.CreateObject("ADODB.Command")
    	set objCmd.ActiveConnection = dbConnection
    	'Ici je ne peux que trop te conseiller de remplacer l'* par le nom d'un champ par exemple ID ou pass pour limiter le volume du recordset, pas la peine de ramener toutes les données de l'enregistrement
    	objCmd.CommandText = "SELECT * FROM Donnee WHERE Pass = '" & Request.Form("ancien") & "'"
    	set objRs = objCmd.Execute
     
    	if objRs.eof or objRs.bof then
    		response.write "Raté !<br>"
    	else
    		response.write "Bien joué !<br>"
    	end if
    	'je suppose que le login vient également du formulaire je n'en trouve pas la trace dans ton code source, le plantage vient peut être de cela.
    	'même remarque pour l'étoile que dasn le select précédent
    	objCmd.CommandText = "SELECT * FROM Donnee WHERE Email='" & Session("access") & "'"
    	set objRs = objCmd.Execute
     
    	if not objRs.eof or objRsbof then
    		objCmd.CommandText = "UPDATE Donnee SET PASS='"&Request.Form("nouveau2")&"' WHERE Email='"& Session("access")&"'"
    		set objRs = objCmd.Execute
    	end if
     
    	set objCmd = nothing
    	set objRs=nothing
    	dbConnection.close
    	set dbConnection = nothing
    end if
    %>
      0  0

  17. #57
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    MAGNIFIQUE !!! Ton code fonctionne très bien !! Mille merci, c'est génial !!

    Juste une petite question encore, je ne comprend pas ces 2 lignes, à quoi servent-elles ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    et objCmd = Server.CreateObject("ADODB.Command")
    	set objCmd.ActiveConnection = dbConnection
    Bien sur, mon patron (jamais content) me demande si il est possible de changer le mot de passe sans que l'utilisateur soit connecté..? A ce moment la, le code changerais je suppose. Donc si je fait un liens, sur la page ou normalement l'utilisateur se connecte, qui le dirige vers une autre page de connexion qui le redirige vers le changement de mot de passe. Cela fonctionnerai la même chose ? Donc pas besoin de changer ni le code, ni rien et je pourrais reprendre le même code de connexion que j'utilise pour rentrer sur une partie du site ?
      0  0

  18. #58
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    Citation Envoyé par LaJess Voir le message
    MAGNIFIQUE !!! Ton code fonctionne très bien !! Mille merci, c'est génial !!
    -> allez fendant pour tout le monde.

    Juste une petite question encore, je ne comprend pas ces 2 lignes, à quoi servent-elles ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    et objCmd = Server.CreateObject("ADODB.Command")
    	set objCmd.ActiveConnection = dbConnection
    ->en fait je me sers de ce code car il me permets d'ouvrir une seule connexion dans une page et de faire autant de lecture de BD sans avoir à fermer et ouvrir les connexions. les puristes du forum vont peut être tomber dans les pommes à la lecture de mon code mais il n'est très utile. Comme tu l'as remarqué j'ai utilisé plusieurs fois l'objcommand et le objrs avec une seule connexion.

    Bien sur, mon patron (jamais content) me demande si il est possible de changer le mot de passe sans que l'utilisateur soit connecté..? A ce moment la, le code changerais je suppose. Donc si je fait un liens, sur la page ou normalement l'utilisateur se connecte, qui le dirige vers une autre page de connexion qui le redirige vers le changement de mot de passe. Cela fonctionnerai la même chose ? Donc pas besoin de changer ni le code, ni rien et je pourrais reprendre le même code de connexion que j'utilise pour rentrer sur une partie du site ?
    -> patron et jamais content c'est un pléonasme )))
    bon plus sérieusement d'un point de vue perso et de sécurité je ne vois pas l'intérêt de modifier ce mot de passe sans que l'utilisateur se soit authentifié. de toutes manières il te faut le login, pass actuel et nouveau pass donc autant qu'il se logue
      0  0

  19. #59
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    Oui, fendant pour tout le monde
    (aah je vois que les valaisans on a la réputation )

    D'accord, donc je vais faire une autre page avec la même connexion, je copie simplement mon code !

    Merci encore
      0  0

  20. #60
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Points : 34
    Points
    34
    Par défaut
    Bojour ! Encore une petite question, dans mon code j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if objRs.eof or objRs.bof then
    		response.write "Désolé, votre mot de passe n'a pas été enregistré correctement.<br><br>Veuillez réessayer."
    	else
    		response.write "Votre nouveau mot de passe à bien été enregistré.><br>"
    	end if
    J'aurais aimé savoir comment mettre en forme (Bordure, centré, etc) mon texte du response.write.
    Si je le met entre la balise <p> et que je met un id, ca ne fonctionne pas, ma page ne s'affiche même pas.
      0  0

Discussion fermée
Cette discussion est résolue.
Page 3 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/04/2018, 20h48
  2. Squid: comment l'utilisateur peut changer son mot de passe?
    Par supInfo22 dans le forum Sécurité
    Réponses: 0
    Dernier message: 16/09/2011, 18h00
  3. Permettre aux utilisateurs de changer de mot de passe
    Par LaJess dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/01/2009, 09h18
  4. Réponses: 6
    Dernier message: 25/04/2007, 20h11
  5. changer le mot de passe d'un utilisateur
    Par Rdjedidene dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/06/2004, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo