erreur bizarre variable undefined et la non lecture d'une requete
je suis entrain de récupérer la saisie de champs d'un formulaire et leur effectuer des tests avant de les insérer dans ma base,
mon problème est avec le mot de passe (chiffré avec l’algorithme md5)
voici le script
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| if(isset($_POST['passe_enc']))
{
$passe_enc=$_POST['passe_enc'];
$nouv_passe=$_POST['nouv_passe'];
$nouv_passe2=$_POST['nouv_passe2'];
if(!$nouv_passe || !$nouv_passe2 || strlen($nouv_passe) < 5)
{
echo'Votre mot de passe n\'est pas le meme que sa confirmation.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
}
if($nouv_passe!=$nouv_passe2)
{
echo'Votre mot de passe n\'est pas le meme que sa confirmation.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
return FALSE;
}
$passe_enc=md5($passe_enc);
$reponse_passe=mysql_query("SELECT * FROM client WHERE mot_de_passe='$passe_enc' AND session='$session'") or die ('Erreur : '.mysql_error());
//verification si mdp valide
$test_mdp=mysql_fetch_array($reponse_passe);
$ancien_mdp=$test_mdp['mot_de_passe'];
echo''.$ancien_mdp;
echo"<br>";
echo''.$pass_enc;
if($passe_enc!==$ancien_mdp)
{
echo'L\'ancien mot de passe n\'est pas correct.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
return FALSE;
} |
voici le message d'erreur qui s'affiche
Code:
1 2 3 4
|
Notice: Undefined variable: pass_enc in C:\Program Files\EasyPHP-5.3.6.0\www\jugurtha international\dynamiques\dynamique_inscription2.php on line 43
L'ancien mot de passe n'est pas correct.
Retour |
la ligne 43 est la ligne ou il y a
je ne comprends pas pourquoi il affiche cette erreur undifined et pourquoi il affiche
Code:
L'ancien mot de passe n'est pas correct.
et ça s'affiche même si la saisie de mon mot de passe est juste,
merci pour votre aide
le problème persiste après le passage par la fonction md5 et la requête
re
lisez bien mon script au debut la variable $pass_en existe
Code:
1 2 3 4 5 6 7 8
| if(isset($_POST['passe_enc']))
{
var_dump($_POST);
$passe_enc=$_POST['passe_enc'];
echo''.$passe_enc;
$nouv_passe=$_POST['nouv_passe'];
$nouv_passe2=$_POST['nouv_passe2']; |
et quand j'ai utilisé au debut du script ça fonctionne sans probleme
c'est après le passage par la fonction md5 puis la requête que mon problème bizarre apparait...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| if(!$nouv_passe || !$nouv_passe2 || strlen($nouv_passe) < 5)
{
echo'Votre mot de passe n\'est pas le meme que sa confirmation.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
}
if($nouv_passe!=$nouv_passe2)
{
echo'Votre mot de passe n\'est pas le meme que sa confirmation.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
return FALSE;
}
$passe_enc=md5($passe_enc);
$reponse_passe=mysql_query("SELECT * FROM client WHERE mot_de_passe='$passe_enc' AND session='$session'") or die ('Erreur : '.mysql_error());
//verification si mdp valide
$test_mdp=mysql_fetch_array($reponse_passe);
$ancien_mdp=$test_mdp['mot_de_passe'];
echo''.$ancien_mdp;
echo"<br>";
echo''.$pass_enc;
if($passe_enc!==$ancien_mdp)
{
echo'L\'ancien mot de passe n\'est pas correct.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
return FALSE;
} |
ni
Code:
echo''.$ancien_mdp;
ni ne fonctionnent et ça affiche l'erreur déjà citée
voici mon script en entier et voici ce qui s'affiche
ceci est le script en entier
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| <?php
session_start();
var_dump($_POST);
include("connect.php");
$nummobtel=$_POST["nummobtel"];
$numfixtel=$_POST["numfixtel"];
$numFax=$_POST["numFax"];
$frmdelivAdress=$_POST["frmdelivAdress"];
$nomvilleliv=$_POST["nomvilleliv"];
$codepostvilleliv=$_POST["codepostvilleliv"];
$livCountry=$_POST["livCountry"];
$factAdress=$_POST["factAdress"];
$factville=$_POST["factville"];
$codepostvillefact=$_POST["codepostvillefact"];
$factCountry=$_POST["factCountry"];
$clientEmail=$_POST["clientEmail"];
$session=$_SESSION["session"];
//récupération du formulaire
$clientEmail=formulaires($_POST['clientEmail']);
if(isset($_POST['passe_enc']))
{
$passe_enc=$_POST['passe_enc'];
echo''.$passe_enc;
$nouv_passe=$_POST['nouv_passe'];
$nouv_passe2=$_POST['nouv_passe2'];
if(!$nouv_passe || !$nouv_passe2 || strlen($nouv_passe) < 5)
{
echo'Votre mot de passe n\'est pas le meme que sa confirmation.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
}
if($nouv_passe!=$nouv_passe2)
{
echo'Votre mot de passe n\'est pas le meme que sa confirmation.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
return FALSE;
}
$passe_enc=md5($passe_enc);
$reponse_passe=mysql_query("SELECT * FROM client WHERE mot_de_passe='$passe_enc' AND session='$session'") or die ('Erreur : '.mysql_error());
//verification si mdp valide
$test_mdp=mysql_fetch_array($reponse_passe);
$ancien_mdp=$test_mdp['mot_de_passe'];
echo''.$ancien_mdp;
echo"<br>";
echo''.$pass_enc;
if($passe_enc!==$ancien_mdp)
{
echo'L\'ancien mot de passe n\'est pas correct.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
return FALSE;
}
else
{
$nouv_passe=md5($nouv_passe);
mysql_query("UPDATE client SET mot_de_passe='$nouv_passe', numero_telephone_mobile='$nummobtel', numero_telephone_fixe='$numfixtel',numero_fax='$numFax',adresse_mail='$clientEmail', adresse_facture_client='$factAdress', ville_facture='$factville',code_postale_facture='$codepostvillefact',pays_facture='$factCountry',adresse_livraison_client='$frmdelivAdress',ville_livraison='$nomvilleliv',code_postale_livraison='$codepostvilleliv',pays_livraison='$livCountry' WHERE session='$session'") or die ('Erreur : '.mysql_error());
mysql_close();
}
mysql_query("UPDATE client SET numero_telephone_mobile='$nummobtel', numero_telephone_fixe='$numfixtel',numero_fax='$numFax',adresse_mail='$clientEmail', adresse_facture_client='$factAdress', ville_facture='$factville',code_postale_facture='$codepostvillefact',pays_facture='$factCountry',adresse_livraison_client='$frmdelivAdress',ville_livraison='$nomvilleliv',code_postale_livraison='$codepostvilleliv',pays_livraison='$livCountry' WHERE session='$session'") or die ('Erreur : '.mysql_error());
mysql_close();
header("location: /jugurtha international/commande-recap.php?action=ajout&l=LIBELLEPRODUIT&q=QUANTITEPRODUIT&p=PRIXPRODUIT");
}
?> |
et ceci est ce qui s'affiche
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| array
'nummobtel' => string '7414151' (length=7)
'numfixtel' => string '714785145' (length=9)
'numFax' => string '71458962' (length=8)
'frmdelivAdress' => string 'rue devid ville' (length=15)
'nomvilleliv' => string 'tunis' (length=5)
'codepostvilleliv' => string '2014' (length=4)
'livCountry' => string '-1' (length=2)
'factAdress' => string 'rue devid ville' (length=15)
'factville' => string 'tunis' (length=5)
'codepostvillefact' => string '1002' (length=4)
'factCountry' => string '-1' (length=2)
'clientEmail' => string 'master@gmail.com' (length=16)
'passe_enc' => string 'bolhich1' (length=8)
'nouv_passe' => string 'bbbbbb' (length=6)
'nouv_passe2' => string 'bbbbbb' (length=6)
'envoieformu' => string 'envoyer' (length=7)
bolhich1
Notice: Undefined variable: pass_enc in C:\Program Files\EasyPHP-5.3.6.0\www\jugurtha international\dynamiques\dynamique_inscription2.php on line 47
L'ancien mot de passe n'est pas correct.
Retour |
sachant que bolhich1 est le résultat de la première instruction merci pour votre aide
voilà ce que j'ai mis et voilà ce que j'ai obtenu
j'ai modifié mon script comme vous m'avez proposé
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $passe_enc=md5($passe_enc);
$reponse_passe=mysql_query("SELECT * FROM client WHERE mot_de_passe='$passe_enc' AND session='$session'") or die ('Erreur : '.mysql_error());
//verification si mdp valide
$test_mdp=mysql_fetch_array($reponse_passe);
var_dump($ancien_mdp);
$ancien_mdp=$test_mdp['mot_de_passe'];
echo $ancien_mdp;
echo"<br>";
if($passe_enc!==$ancien_mdp)
{
echo'L\'ancien mot de passe n\'est pas correct.<br /><a href="profil.php" onClick="history.back()">Retour</a>';
return FALSE;
} |
et voilà ce que j'ai obtenu
Code:
1 2 3 4 5
| null
L'ancien mot de passe n'est pas correct.
Retour |
ça fonction toujours pas
:-( :( :( :( :( :( :( :(