Dans ce nouveau Tutoriel découvrons ensemble comment, créer un système de mot de passe oublié + réinitialisation dans WEBDEVV + MYSQL, alors ce système va permettre ainsi à l'utilisateur de récupéré son compte perdu et de pouvoir a nouveau réinitialiser son compte…
Connexion BDD
PROCÉDURE Connexion()
DBServeur, DBUtilisateur, DBPawword, DBBase, DBMode sont des chaînes
DBServeur = "localhost"
DBUtilisateur = "root"
DBPawword = ""
DBBase = "tuto"
DBMode = "MYSQL"
SQLConnecte(DBServeur,DBUtilisateur,DBPawword,DBBase,DBMode)
Token
PROCÉDURE Token(TailleToken)
InitHasard()
CleAleatoire est une chaîne
BOUCLE(TailleToken)
NombreCaratcère est un entier = Hasard(65,122)
TANTQUE(91 <= NombreCaratcère <= 96)
NombreCaratcère = Hasard(65,122)
FIN
CleAleatoire += Caract(NombreCaratcère)
FIN
RENVOYER CleAleatoire
Inscription
PROCÉDURE InscriptionUser(nom, email, password)
nom = SansEspace(nom)
SI VérifieExpressionRégulière(email, "[-.a-z0-9]+[@][-.a-z0-9]+[.][a-z]{2,4}") = Vrai ALORS
email = email
SINON
Info("Entrer une adresse mail valide")
FIN
password = Crypte(password, "Crypt1")
cléUnique est une chaîne = Token(20)
dateInscription est une chaîne = DateVersChaîne(DateDuJour(),maskDateSystème)
ReqInscription est une chaîne = "INSERT INTO users SET NOM = '" + nom + "', EMAIL = '" + email + "', PASSWORD = '" + password + "', TOKEN = '" + cléUnique + "', DATE_I = '" + dateInscription + "'"
SI SQLExec(ReqInscription, "INSCIPTION") ALORS
Info("Votre compte " + nom + " a été créer")
FIN
Forgot
PROCÉDURE Mot_de_passe_oublier(EmailUser)
SI VérifieExpressionRégulière(EmailUser, "[-.a-z0-9]+[@][-.a-z0-9]+[.][a-z]{2,4}") = Vrai ALORS
EmailUser = EmailUser
ReqForgot est une chaîne = "SELECT * FROM users WHERE EMAIL = '" + EmailUser + "'"
SI SQLExec(ReqForgot, "FORGOT") = Vrai ALORS
SQLPremier("FORGOT")
TableauValeur est un tableau de chaînes = [SQLCol("FORGOT", 1), SQLCol("FORGOT", 2), SQLCol("FORGOT", 3), SQLCol("FORGOT", 5)]
PageUtilise(UpdateMdp,TableauValeur[1], TableauValeur[4])
FIN
SINON
Info("Entrer une adresse mail valide")
FIN
Update
PROCÉDURE UpdateMdp(mdp, confirmation, Id)
SI mdp = confirmation ALORS
mdp = Crypte(mdp, "Crypt1")
confirmation = Crypte(confirmation, "Crypt1")
// Mise à jour de la cléUnique
CleUnique est une chaîne = Token(21)
UpdateCompte est une chaîne = "UPDATE users SET PASSWORD = '" + mdp + "', TOKEN = '" + CleUnique + "' WHERE ID = '" + Id + "'"
SI SQLExec(UpdateCompte, "UPDATE") = Vrai ALORS
Info("Votre compte est mise à jour")
FIN
FIN
Page Inscription
PROCÉDURE MaPage()
//Connexion base de donnée
Connexion()
Bouton Inscription
InscriptionUser(NOM, EMAIL, PASSWORD)
Bouton Retrouver
Mot_de_passe_oublier(Email)
Formulaire Update
Connexion()
IdUSER est un entier = PageParamètre("P1")
TokenUser est une chaîne = PageParamètre("P2")
ReqCompteTrouver est une chaîne = "SELECT * FROM users WHERE ID = '" + IdUSER + "' AND TOKEN = '" + TokenUser + "'"
SI SQLExec(ReqCompteTrouver, "COMPTETROUVER") = Vrai ALORS
SQLPremier("COMPTETROUVER")
USER = SQLCol("COMPTETROUVER", 2)
FIN
Bouton Renitialiser
UpdateMdp(Mot_de_passe,Confirmation, IdUSER)