Soyez le premier à donner votre avis sur cette source.
Snippet vu 8 356 fois - Téléchargée 30 fois
<? //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 @++ ?>
17 janv. 2010 à 17:08
1 juin 2004 à 19:19
11 déc. 2003 à 20:50
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 +
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.