Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/04/2011, 23h53   #1
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
Par défaut modifier mot de passe

Bonjour,
j'ai un petit problème concernant le modification de mot de passe,
j'ai dans une basse de donnée "test" une table "memb" qui contient les champ suivant
pass, new_pass portant quand je clic modifier mot de passe le fprmulaire que j'ai crée aparer mais un tableau s'affiche en haut il y'est ecrie "Notice: Undefined index: new_pass in C:\wamp\www\test\modifpass.php on line 7"
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h04   #2
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
En cliquant sur un lien de type <a href, tu n'envois pas de données de type $_POST, donc à la ligne 7, il te signale qu'il ne trouve pas la valeur. Le soucis est aussi pourquoi arrive t-il à la ligne 7 alors que tu fais une vérification?

perso en général, pour une vérification, je fais:

Code :
1
2
3
4
5
 
if(isset($_POST['mon_post']) && $_POST['mon_post'] != "")
{
    //utilisation du post ici
}
Essaye de remplacer ta ligne 3 par la mienne, pour voir...
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h13   #3
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
je vien de l'essaiyer et ya plus de message d'erreur mais quand je tape le nouveau mot de passe et que je clic sur modifier il me marque "un des champs est vide" pourquoi???
sachant que je n'est rien modifier a part la ligne 3
peut etre que je doit meme modifier la base de donnée et meme le script la ou je trouve new_ pass par mon_post ??
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h21   #4
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
J'ai remarqué que tu avais 2 attributs name="pass".

Dans la condition de la ligne 3, fait un debug

il va te marquer tous les post qu'il recoit et qui sont exploitables.

Tu dois y aller par étapes, sans les bruler
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h30   #5
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
j'ai pas compris, ou mettre "var_dump($_POST);"
sachant que maintenant j'ai changer un attribut qui s'appelle maintenant name= new_pass. je l'ai meme editer dans le script du forum
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h33   #6
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
Le but est de savoir si quand tu cliques sur "modifier", tu recois bien toutes les infos du formulaire.

Code :
1
2
3
4
5
6
 
if(isset($_POST['mon_post']) && $_POST['mon_post'] != "")
{
    //utilisation du post ici
    var_dump($_POST);
}
Dis moi ce qu'il t'affiche après avoir cliquer sur le bouton modifier.
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h40   #7
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
il ne m'affiche rien a part le formulaire et le mot de passe ne change pas
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h46   #8
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
Tu as bien remplacé le "mon_post" par tes propres valeurs?

Code :
1
2
3
4
5
6
 
if(isset($_POST['pass']) && $_POST['pass'] != "")
{
    //utilisation du post ici
    var_dump($_POST);
}
Je demande au cas ou...
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h50   #9
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
c'est vrai je ne l'ai pas fais
maintenant il m'affiche
Code :
1
2
3
4
5
array
  'pseudo' => string 'fifou' (length=5)
  'pass' => string 'm' (length=1)
  'new_pass' => string 'd' (length=1)
  'Submit' => string 'Modifier' (length=8)
en plus de "Notice: Undefined variable: mdp in C:\wamp\www\test\modifpass.php on line 16"
et de "Attention votre mot de passe ne correspond pas a celui que vous avez définie lors de votre enregistrement. "
mais dans le troiseme affichage il ya un probleme car sait le meme mot de passe que lors de l'enregistrement
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 00h57   #10
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
Ta variable $mdp n'existe pas donc l'errer est normale.

Mais en gros, tu veux modifier le mot de passe uniquement si il est différent donc:

Code :
1
2
3
4
5
6
7
8
 
$pass = mysql_real_escape_string(htmlspecialchars(md5($_POST['pass'])));
$new_pass = mysql_real_escape_string(htmlspecialchars(md5($_POST['new_pass'])));
 
if($pass != $new_pass)
{
//update
}
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 01h04   #11
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
maintenant il me marque "Undefined variable: id in C:\wamp\www\test\modifpass.php on line 18"
et voici la ligne 18:
Code :
mysql_query("UPDATE memb SET pass='$new_pass' WHERE id = '$id'") or die ('Erreur : '.mysql_error());
j'ai fais id car imagine si deux membre on le meme mot de passe
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 01h09   #12
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
La pareil, la variable $id n'est pas définie avant l'utilisation que tu veux faire. tu dois également la passer en parametre, par exemple en $_GET.

essaye de remplacer le $id par un id de ta table existant, histoire de voir si ton code se déroule bien. Tu feras le passage de l'id après?
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 01h13   #13
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
oui c bon ça marche si je met id =1 mais maintenant comment le faire pour tout les membre ( ou mettre $_GET) je ss un débutant en webmestrie
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 01h29   #14
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
Alors, le premier soucis est que j'ai bien envie d'aller me coucher mais en gros, pour ta nuit blanche, je te donne les pistes lol:

1: Sur la page principale qui contient les différents liens, tu fais une requete sur ta table des membres et tu les affiches tous. Tu devrais avoir autant de bouton "modifier mot de passe " que d'utilisateurs enregistrés.

2: Quand tu affiches le lien vers modifpass.php, tu rajoutes le parametre $_GET après, ce qu'il va te donner genre modifpass.php?id=1, ou le 1 est récupéré de la table membre.

3: Sur ton formulaire de modification, tu peux ajouter un input type hidden donc,

<input type="hidden" name="id" value="<?php echo $id; ?>" />

4: une fois que tu cliques sur le bouton modifier, tu récupères le post de la même manière que $pass et $new_pass, genre $id = $_POST['id'];

5: update de la table.

6: ajoutes également ce code tout en haut de ton fichier modifpass.php:

Code :
1
2
3
4
5
6
7
8
 
if(isset($_GET['id']) && $_GET['id'] != "")
    $id = $_GET['id'];
else
{ 
    echo "id non existant";
    exit();
}
Bonne nuit! je regarderai ou tu en est demain! promis
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h45.


 
 
 
 
Partenaires

Hébergement Web