begin process at 2012 05 27 19:37:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > PERMETTRE AUX UTILISATEURS DE CHANGER LEURS MOTS DE PASSE

PERMETTRE AUX UTILISATEURS DE CHANGER LEURS MOTS DE PASSE


 Information sur la source

Note :
6,33 / 10 - par 3 personnes
6,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Débutant Date de création :11/12/2003 Vu :6 308

Auteur : semetic

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Ce code PHP/mysql permet aux utilisateurs membres dans votre site (inscrits dans votre base de données ou vous meme) de changer le mot de passe, on peut appliquer ça pour le compte si on veut ou toute autre chose  dont on veut laisser l'utilisateur de la changer s'il veut après avoir droit à y accéder.

La première des choses, je préfère dans ce cas qu'on crée une page html et autre php pour la bonne présentation et non pas  une page html qui contient le formulaire et et son traitement (code php).
Vous pouvez changer la couleur  des cellules, largeur du tableau écrires des commentaires avous voyez nécessaires....de lapage html. Créez cette page et nommez la "modifypswrd.htm" voici son code HTML:


<html>
<title>Modifier son mot de passe</title>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<form name="form1" method="post" action="modifypswrd.php">
    <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;">&nbsp;</p>
    <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;">&nbsp;</p>
    <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;">&nbsp;</p>
    <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;"><font face="Verdana" color="black"><span style="font-size:9pt;"><b>Changement
    de mot de passe</b></span></font></p>
    <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;">&nbsp;</p>
    <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;">&nbsp;</p>
    <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;">&nbsp;&nbsp;</p>
<table width="337" align="center" cellspacing="0" bgcolor="silver" bordercolordark="white" bordercolorlight="white" cellpadding="0">
    <tr>
        <td width="156" bgcolor="silver" height="43">    <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;"><font color="white">&nbsp;</font><font face="Verdana" color="white"><b><span style="font-size:9pt;">Ancien
                mot de passe</span></b></font></p>

        </td>
        <td width="181" height="43">        <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;"><font face="Verdana" color="navy"><b><span style="font-size:9pt;"><input type="password" name="ancienpass"></span></b></font></p>
        </td>
    </tr>
    <tr>
        <td width="156" bgcolor="silver">    <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;"><font face="Verdana" color="white"><b><span style="font-size:9pt;">Le
                nouveau</span></b></font></p>

        </td>
        <td width="181">        <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;"><font face="Verdana" color="navy"><b><span style="font-size:9pt;"><input type="password" name="nouveaupass1"></span></b></font></p>
        </td>
    </tr>
    <tr>
        <td width="156" bgcolor="silver">    
                <p align="center"><font face="Verdana" color="white"><b><span style="font-size:9pt;">Confirmer
                le</span></b></font></p>
        </td>
        <td width="181">        <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;"><font face="Verdana" color="navy"><b><span style="font-size:9pt;"><input type="password" name="nouveaupass2"></span></b></font></p>
        </td>
    </tr>
    <tr>
        <td width="156" height="44">    
                <p>&nbsp;</p>
        </td>
        <td width="181" height="44">        <p align="center" style="line-height:100%; margin-top:0; margin-bottom:0;"><input type="submit" name="submit" value="Changement"></p>

        </td>
    </tr>
</table>
</form>
</body>
</html>

Remarque: n'oubliez pas de créer une table dans votre base (nommez la "admin" qui contient obligatoirement un champ nommé "password") biensur elle ne contient pas que ce champ (par éxemple aussi compte email....et les champ que vous voulez).



Source

  • <?
  • //Voici tout le code de la page modifypswrd.php
  • //require pour appeler le fichier de connexion ou directement:
  • $hote="localhost"; //La hote d'hébergeur de votre site, localhost c'est pour ceux qu'ils ont un //serveur virtuel dans leurs ordinateurs comme moi (apache)
  • $nom="root"; //Le compte fourni par l'hébergeur de votre site pour accéder à la base de données
  • $passw=""; //Le mot de passe fourni par l'hébergeur de votre site pour accéder à la base de //données pour un serveur virtuel (personnel) il ny a aucun mot de passe (on laisse du vide)
  • $base="mabase"; //Le nom de votre base chez l'hébergeur ou le nom que tu l'a donné si vous avez php+mysql+apache ou n'importe serveur éxécutant php installé sur votre ordinateur.
  • $conecter=mysql_connect($hote,$nom,$passw)or die ("erreur de connexion");
  • mysql_select_db($base,$conecter) or die ("erreur de selection");
  • require("config.inc.php"); // Si on a mis les lignes pérédentes on doit supprimer cette ligne.
  • //Ce qui suit c'est le nom du bouton d'envoie du formulaire dans la page HTML,le if signifie si //on a clické sur le bouton d'envoie se passe le traitement PHP dans cette page
  • if ($submit)
  • {
  • //Si le champ pour ancien mot de passe est vide
  • if (trim($ancienpass) == "")
  • {
  • echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Ancien mot de passe ne doit pas reter vide!</p></font></b>";
  • include('modifypswrd.htm');
  • exit;
  • }
  • //On cherche l'éxistence de l'ancien mot de passe tapé
  • $passexists = "SELECT password FROM admin WHERE password='$ancienpass'";
  • $existence = mysql_query($passexists);
  • //Si le résultat est 0 c'est qu'il n'éxiste pas on obtient donc un message de non validité de //l'ancien mot de passe (le mot de passe qu'on veut changer et qui n'est pas changé encore)
  • if (mysql_num_rows($existence) == 0)
  • {
  • echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Ancien mot de passe invalide!</p></font></b>";
  • include('modifypswrd.htm');
  • exit;
  • }
  • //Si un des champs (nouveau mot de passe ou confirmation du nouveau mot de passe) est vide
  • if (trim($nouveaupass1) == "" || trim($nouveaupass2) == "")
  • {
  • echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Le champ nouveau mot de passe et confirmation ne doivent pas reter vides!</p></font></b>";
  • include('modifypswrd.htm');
  • exit;
  • }
  • //si le nouveau mot de passe n'est pas bien confirmé (celui écrit dans la case nouveau mot de //passe est différent de celui tapé dans la case confirmation)
  • if ($nouveaupass2 !=$nouveaupass1)
  • {
  • echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Le nouveau mot de passe n'est pas confirmé justement!</p></font></b>";
  • include('modifypswrd.htm');
  • exit;
  • }
  • }
  • //Après avoir pensé à toutes les possibilités on va appeler la variable "$existence", si vous //vous rappelez, c'est celle qu'on a utilisé pour chercher l'éxistence du mot de pase tapé (celui //dans la base de données et qu'on veut changer).
  • //Si le résultat est superieur à 0 c'est qu'il éxiste et après la vérification des possibilités //comme on a dit (pas de champs vides, pas fausse confirmation...Enfin le changement s'effectue //grace àla fonction mysql "UPDATE"
  • if (mysql_num_rows($existence) > 0) {
  • $sql = "UPDATE admin set password='$nouveaupass1' WHERE password='$ancienpass'";
  • $req = mysql_query($sql) or die('erreur de modification');
  • print "<br><br><p align=\"center\">";
  • print " <font face=\"verdana\" color=\"#000080\">";
  • print " <b>Votre mot de passe a bien été modifié!</b>";
  • print " </font>";
  • print "</p><br><br>";
  • //Le lien qui suit c'est pour se retourner à une page, login par éxemple
  • print"<p align=center><font face=verdana size=2><a href=login.php>Authentifiez vous maintenant!</a><br><br>";
  • exit;
  • }
  • //On ferme la connexion avec la base
  • mysql_close();
  • //On libère la mémoire
  • mysql_free_result();
  • //A chaque fois qu'on change le mot de passe, le nouveau va etre considéré comme ancien (à mettre //dans la case ancien mot de passe)
  • // Code PHP4/mysql testé sous apache avec belle présentation de windows XP
  • // Farid @++
  • ?>
<?
//Voici tout le code de la page modifypswrd.php
//require pour appeler le fichier de connexion ou directement:
$hote="localhost"; //La hote d'hébergeur de votre site, localhost c'est pour ceux qu'ils ont un //serveur virtuel dans leurs ordinateurs comme moi (apache)
$nom="root";  //Le compte fourni par l'hébergeur de votre site pour accéder à la base de données
$passw="";  //Le mot de passe fourni par l'hébergeur de votre site pour accéder à la base de //données pour un serveur virtuel (personnel) il ny a aucun mot de passe (on laisse du vide)
$base="mabase"; //Le nom de votre base chez l'hébergeur ou le nom que tu l'a donné si vous avez php+mysql+apache ou n'importe serveur éxécutant php installé sur votre ordinateur.
$conecter=mysql_connect($hote,$nom,$passw)or die ("erreur de connexion");
mysql_select_db($base,$conecter) or die ("erreur de selection");
require("config.inc.php"); // Si on a mis les lignes pérédentes on doit supprimer cette ligne.
//Ce qui suit c'est le nom du bouton d'envoie du formulaire dans la page HTML,le if signifie si //on a clické sur le bouton d'envoie se passe le traitement PHP dans cette page
if ($submit)
	{
//Si le champ pour ancien mot de passe est vide		
		if (trim($ancienpass) == "")
		{
                echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Ancien mot de passe ne doit pas reter vide!</p></font></b>";		
		include('modifypswrd.htm');
		exit;
		}
//On cherche l'éxistence de l'ancien mot de passe tapé		
   $passexists = "SELECT password FROM admin WHERE password='$ancienpass'";   
   $existence = mysql_query($passexists); 

//Si le résultat est 0 c'est qu'il n'éxiste pas on obtient donc un message de non validité de //l'ancien mot de passe (le mot de passe qu'on veut changer et qui n'est pas changé encore)
    if (mysql_num_rows($existence) == 0)
   {
   echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Ancien mot de passe invalide!</p></font></b>";		
   include('modifypswrd.htm');
   exit;
   }
//Si un des champs (nouveau mot de passe ou confirmation du nouveau mot de passe) est vide
		if (trim($nouveaupass1) == "" || trim($nouveaupass2) == "")
	{
   echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Le champ nouveau mot de passe et confirmation ne doivent pas reter vides!</p></font></b>";		
			include('modifypswrd.htm');
			exit;
	}
//si le nouveau mot de passe n'est pas bien confirmé (celui écrit dans la case nouveau mot de //passe est différent de celui tapé dans la case confirmation)
	if ($nouveaupass2 !=$nouveaupass1)
		{

                echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Le nouveau mot de passe n'est pas confirmé justement!</p></font></b>";		
		include('modifypswrd.htm');
		exit;
		}
	}
//Après avoir pensé à toutes les possibilités on va appeler la variable "$existence", si vous //vous rappelez, c'est celle qu'on a utilisé pour chercher l'éxistence du mot de pase tapé (celui //dans la base de données et qu'on veut changer).
   
//Si le résultat est superieur à 0 c'est qu'il éxiste et après la vérification des possibilités //comme on a dit (pas de champs vides, pas fausse confirmation...Enfin le changement s'effectue //grace àla fonction mysql "UPDATE"
  if (mysql_num_rows($existence) > 0) {
$sql = "UPDATE admin set password='$nouveaupass1' WHERE password='$ancienpass'";
$req = mysql_query($sql) or die('erreur de modification');
   	print "<br><br><p align=\"center\">";
			print "	<font face=\"verdana\" color=\"#000080\">";
			print "		<b>Votre mot de passe a bien été modifié!</b>";
			print "	</font>";
			print "</p><br><br>";
//Le lien qui suit c'est pour se retourner à une page, login par éxemple		
print"<p align=center><font face=verdana size=2><a href=login.php>Authentifiez vous maintenant!</a><br><br>";
			exit;
	}
//On ferme la connexion avec la base	
mysql_close();
//On libère la mémoire
mysql_free_result();
//A chaque fois qu'on change le mot de passe, le nouveau va etre considéré comme ancien (à mettre //dans la case ancien mot de passe)

// Code PHP4/mysql testé sous apache avec belle présentation de windows XP
// Farid     @++
?>






 Sources du même auteur

INTERFAÇAGE D'UNE BASE DE DONNÉES AVEC DU STYLE PHP-MYSQL/JA...
EMPECHER LA VISITE DIRECTE OU DEPUIS CERTAINS SITES VERS LE ...
EMPECHER VOS INFORMATIONS D'APPARAITRE DANS LA BARRE D'ADRES...
VOTER POUR UN SITE UNE SEULE FOIS
NUMÉROTATION DES RÉSULTATS DE RECHERCHE AVEC PHP+MYSQL+TRUCS

 Sources de la même categorie

Source avec une capture MODULE JOOMLA 1.5 NOW LISTENING par Alcantornet
Source avec Zip Source avec une capture UPLOAD CENTER par basssem81
Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK

Commentaires et avis

Commentaire de Anthomicro le 11/12/2003 20:50:11

salut semetic !

juste une suggestion d'optimisation : utilise COUNT au lieu de mysql_num_rows($requete).

Voici la syntaxe :

$requete=mysql_query("SELECT COUNT(*) FROM table WHERE patatipatata") or die(mysql_error());

$r=mysql_fetch_row($requete);
$total=$r[0];

Tu peux à la place du * mettre le nom d'un champ comme tu le ferais avec une requête classique :

$requete=mysql_query("SELECT COUNT(champ) FROM table WHERE patatipatata") or die(mysql_error());

Bonne continuation

a +

Commentaire de natha le 01/06/2004 19:19:42

Dit, le code html, pas besoin de le poster comme ça, le formulaire seul suffisait... parce que là l'écran est chargé pour pas grand chose...

Commentaire de stephylee59 le 17/01/2010 17:08:10

euh, si le nouveau mot de passe existe déjà dans la base, on met pas un peu le bazard?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales