Rechercher : dans
Par :

[php] Script changer mot de passe

Dernière réponse le 24 jun 2008 à 18:38:40 mmorpg-creation, le 1 avr 2008 à 00:16:43 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaiterai créer un script en php/sql. qui me permettrai au clien de changer leur mot de passe.
Je réussis a créer le code mais je souhaiterai ajouter un message qui previent le membre si il s'est trompé en tappant son mot de passe (pas le le; "attention erreur de login....").

Mais pour sa il faudra demander a sql...

Voila la structure sur laquelle vous appuyez:
Ce qui est en gras pose pbm.
Je pose qu'il faut utiliser mysql_affected_rows() mais je doute.


if (mot de passe bdd=mot de post $_POST[pass])
{
mysql_query("UPDATE accounts SET password='$password' WHERE password='$password'");
}

else
}
echo "Attention votre mot de passe ne correspond pas a celui que vous avez définie lors de votre enregistrement."
}

Configuration: Windows XP
Firefox 2.0.0.13




Meilleures réponses pour « [php] Script changer mot de passe » dans :
Comment changer mon mot de passe sous WLM/MSN Voir Pour changer son mot de passe Windows Live Messenger, il suffit d'utiliser l'interface prévue à cet effet : http://memberservicesnet.passport.net/memberservice.srf?lc=1036 Si vous avez perdu votre mot de passe, merci de vous référer à...
Facebook - Changer son mot de passe VoirPour changer son mot de passe sur Facebook, il suffit de suivre la procédure suivante : 1- Ouvrir Facebook 2- Cliquer sur "Paramètres" en haut à droite 3- Cliquer sur "Modifier" dans la catégorie "Mot de passe". 4- Changer le mot de passe
Thunderbird - Modifier le mot de passe d'un compte VoirModifier le mot de passe d'un compte Il arrive parfois de changer son mot de passe de boite mail ... mais Thunderbird ne prend pas en compte ces changements. IL faut réinitialiser non pas le compte mais seulement son mot de passe ! Ainsi au...
Télécharger Change Forgotten Password Lite VoirQuand on utilise plusieurs mots de passe différents pour chaque application que l’on utilise, notamment les comptes de messagerie, on vient à en oublier quelque un. Change Forgotten Password Lite est un comme son nom l’indique, est un...

1

mmorpg-creation, le 1 avr 2008 à 14:15:57

Up

Répondre à mmorpg-creation

2

beautytale, le 1 avr 2008 à 16:02:10

Il faut des $ deavnt les variables

Répondre à beautytale

3

mmorpg-creation, le 1 avr 2008 à 19:05:15

Oui sa je c'est.

Répondre à mmorpg-creation

4

mmorpg-creation, le 1 avr 2008 à 22:28:53

Up

Répondre à mmorpg-creation

5

sly-bzh, le 1 avr 2008 à 22:39:00

Si je comprend bien, tu stockes le mot de passe et le login en clair dans la base (il y a mieux niveau sécurité mais la question n'est pas là) et quand l'utilisateur entrera son login et son mot de passe dans le formulaire, tu va faire une requète SQL pour chercher le mot de passe dans la base et le comparer avec celui entré dans le formulaire.
Si j'ai bien compris, donc, je te conseille de créer :
une variable $mdp_base où tu stockes le mot de passe de ta base
une variable $mdp_form = $_POST[pass];
et tu fais tout simplement :

if ($mdp_base==$mdp_form)
{
   mysql_query("UPDATE accounts SET password='$mdp_form' WHERE password='$mdp_base'");
}

else
}
   echo "Attention votre mot de passe ne correspond pas a celui que vous avez définie lors de votre enregistrement."
}
  
Proverbes breton :
Si les mouettes ont pied, il est temps de virer
Il vaut mieux être saoul que con, ça dure moins longtemps

Répondre à sly-bzh

6

mmorpg-creation, le 2 avr 2008 à 05:21:56

Merci de ta réponse.

Oui cela correspond a sa.

Donc tu viens de décrire ce que je veux faire.

Ma question est comment définir $mdp_base.

Répondre à mmorpg-creation

7

=[Cvrd]=Tassin, le 2 avr 2008 à 10:47:26

Tu utilises une requête pour récupérer le mot de passe stocker dans la base du genre :

$result = mysql_query("SELECT mdp FROM TaTable WHERE login = 'LOGINUTILISATEUR'");
$row = mysql_fetch_array($result);
$mdp_base = $row[0];
-- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

8

mmorpg-creation, le 2 avr 2008 à 19:47:33

Merci j'essaye sa et je te tiens au courant.

Il me semble qu'il y a plus simple.

Je suis vraiment désolé de poser cette question cela me gène beaucoup, mais cela et dû car cela fait 6 mois que je n'ai pas programmer.

Répondre à mmorpg-creation

9

sly-bzh, le 2 avr 2008 à 22:32:20

Euh... C'est quand même vachement simple là, t'as en tout et pour tout 12 lignes de code, si seulement tout pouvais être aussi simple...
Je te fais un piti résumé du tout

$result = mysql_query("SELECT mdp FROM ta_table WHERE login = 'login_testé'");
$result = mysql_fetch_array($result);
$mdp_base = $result['mdp'];
if ($mdp_base==$mdp_form)
{
   mysql_query("UPDATE accounts SET password='$mdp_form' WHERE password='$mdp_base'");
}

else
}
   echo "Attention votre mot de passe ne correspond pas a celui que vous avez définie lors de votre enregistrement."
}
Proverbes breton :
Si les mouettes ont pied, il est temps de virer
Il vaut mieux être saoul que con, ça dure moins longtemps

Répondre à sly-bzh

10

mmorpg-creation, le 3 avr 2008 à 01:20:07

Ton code est correct sa ne m'affiche aucune erreur.

Par contre sa ne modifie rien dans la bdd.

Sa tombe toujours sur le else.

J'avais fait quelque chose qui ressembler a sa, si en interrogeant la bdd sa redondé oui alors c'est correct.
Sa me faisait exactement la même erreur, sa ne changé en rien la bdd.

Je pense que le if qui pose le probleme (comme a chaque fois) car si j'enlève les condition la requête est réussi et le mot de passe est changer.

Répondre à mmorpg-creation

11

djflexlive, le 3 avr 2008 à 02:39:34

Poste ton script complet, ca sera plus simple pour debbuguer ... ;)

Répondre à djflexlive

12

mmorpg-creation, le 3 avr 2008 à 16:48:11

La page index.php

<html>
<title>Création de Compte</title>
<link href="fond.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
background-image: url();
background-repeat: no-repeat;
}
.Style2 {color: #000000}
.Style3 {
color: #FF0000;
font-size: large;
}

-->
</style><body bgcolor="#000000">
<body text="#FFFFFF">

<form action="complete.php" method="post">
<p><center>
</p>
<div align="center">
<p class="fond">

Nom de Compte :<br>
<bold></bold>
<input type="text" name="user" />
<br>
<br>
Mot de Passe : <br>
<input type="password" name="pass" />
<br>
<br>
<input name="submit" type="submit" class="Style2" value="xx !" />
<br>
<br>
<input type="hidden" name="gmlvl" value="2" />

</div>
<p> </p>
</form>
</body>
</html>


la page complete.php

<html>
<title>Creation de Compte</title>
<link href="fond.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
background-image: url();
background-repeat: no-repeat;
}
.Style2 {color: #000000}
.Style3 {
color: #FF0000;
font-size: large;
}

-->
</style><body bgcolor="#000000">
<body text="#FFFFFF">

<form action="complete.php" method="post">
<p><center>
</p>
<div align="center">
<p class="fond">
<br>


<?php
$sqlserver = "x";
$sqluser = "x";
$sqlpass = "x";

$con = mysql_connect($sqlserver,$sqluser,$sqlpass);

mysql_select_db("table_compte", $con); //Changez pour le nom de la Base de donnée

$password = mysql_real_escape_string(htmlspecialchars($_POST['pass']));


$result = mysql_query("SELECT gm, passord FROM accounts WHERE password = '$password'");
$result = mysql_fetch_array($result);
$mdp_base = $result['gm'];
if ($mdp_base==$password)
{

mysql_query("UPDATE accounts SET gm='3' WHERE password='$mdp_base'");

}
echo "Felicitation " . "<font color='FF0000'>" . $_POST['user'] . "</font>" . " vous a present GM
?>

</div>
<p> </p>
</form>
</body>
</html>

Répondre à mmorpg-creation

13

sly-bzh, le 3 avr 2008 à 16:53:10

Et la structure simplifiée de ta base de donnée stp
gm et password correspondent a quoi
Et le passord dans ta première requète SQL est-elle une faute de frappe ? Proverbes breton : 
Si les mouettes ont pied, il est temps de virer
Il vaut mieux être saoul que con, ça dure moins longtemps

Répondre à sly-bzh

14

mmorpg-creation, le 3 avr 2008 à 16:58:15

Gm= game membre

sql

la table c accouts dedans id, password gm

Répondre à mmorpg-creation

15

sly-bzh, le 3 avr 2008 à 17:11:46

En fait je ne comprend plus très bien ce que tu veux : je croyais que tu voulais que les utilisateur puissent modifier leur password. Ce n'est pas du tout ce que tu fais dans ce script

Alors qu'est ce que tu veux faire exactement (avec un exemple concret stp)
merci Proverbes breton : 
Si les mouettes ont pied, il est temps de virer
Il vaut mieux être saoul que con, ça dure moins longtemps

Répondre à sly-bzh

16

mmorpg-creation, le 4 avr 2008 à 00:15:48

Alors, oui c'est pas le password que je veux modifier mais gm, cela ne change en rien, le principe reste le meme.

GM est un groupe.

exemple Dans la table sql:

gm=3 admin:
gm=2 utilisateur avec accés restreint.

Répondre à mmorpg-creation

17

mmorpg-creation, le 5 avr 2008 à 11:27:28

Si c'est trop dur a comprendre je peux argumenter et développer.

Répondre à mmorpg-creation

18

sly-bzh, le 5 avr 2008 à 13:51:49

Bonjor,

J'avoue ne pas bien comprendre ce que tu veux faire exactement :
1°) changer le GM de tes utilisateurs, mais je n'en vois pas l'intérêt
2°) en fait je ne vois pas ce que tu pourrais faire d'autre à partir du script que tu nous a donné...

Ces lignes ci me paraissent particulièrement obscure :

$mdp_base = $result['gm'];
if ($mdp_base==$password)...

Tu lui dis que $mdp_base correspond à ton GM contenu dans la base, or il y a 1 ou 2 posts tu disais que ton GM était un chiffre... Or ensuite tu cherche si ce chiffre est égal au mot de passe entré dans le formulaire par l'utilisateur... Cette condition ne pourra jamais être remplie, sauf si un utilisateur utilise comme mot de passe 1, 2 ou 3 ou... Le if ne pouvant jamais être vérifié, tu n'entrera jamais dans celui-ci et tu ne fera jamais ton UPDATE et donc tu n'aura jamais de changement dans ta base.

Désolé mais c'est ce que j'ai compris et je en pense pas que c'est ce que tu veuille faire.
Tu veux pas donner un EXEMPLE PRECIS avec ce que les gens entrent dans le formulaire, ce que tu veux Proverbes breton :
Si les mouettes ont pied, il est temps de virer
Il vaut mieux être saoul que con, ça dure moins longtemps

Répondre à sly-bzh

19

mmorpg-creation, le 5 avr 2008 à 15:59:25

Les gens gens rentre dans le formulaire leur password et quand il cliqueron sur changer gm (bouton valider), il montera de grade.

Le grade (gm) c'est prenium par exemple.


Dit moi si ta tjr pas compris sinon je refais tout de A a Z pour que ce soit claire.

Faut savoir que mon code fait 400 lignes.

Donc j'ai coupé des partie, mais j'ai pris l'essentiel.

Répondre à mmorpg-creation