IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

erreur bizarre variable undefined et la non lecture d'une requete


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    108
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 108
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    vérifie toujours les valeurs
    ps : belle injection SQL au passage

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    108
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 108
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    vérifie toujours les valeurs
    ps : belle injection SQL au passage
    j'ai ajouté var_dump($_POST);
    et le problème persiste toujours, et n'oubliez pas svp que $pass_enc n'est pas une variable post, et que j'ai pas eu de problème avec les variables post traités auparavant (j'ai aussi une dizaine de variables post que j'ai pas transcris dans le script parce que je pense c inutile.)
    merci pour votre aide

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    relis bien ton code, le $pass_enc est définie nul part quand il n'y a pas de poste
    je te conseil de séparer ton code en plusieurs fichiers

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    108
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 108
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ni ne fonctionnent et ça affiche l'erreur déjà citée

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    mais non, et le var_dump c'est a mettre au tout début de ton script...
    envoie ton code en entier et indenter stp

Discussions similaires

  1. [CS4] Non lecture d'une interpolation de mouvement
    Par pmax35 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 10/10/2010, 18h23
  2. Caractère non valide # dans une requete
    Par ninou58 dans le forum Langage
    Réponses: 3
    Dernier message: 24/06/2009, 13h38
  3. [MySQL] argument non valide dans une requete mysql
    Par rinuom99 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/10/2008, 12h53
  4. résultat non souhaité d'une requete sql
    Par mayers dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/07/2007, 00h01
  5. Réponses: 3
    Dernier message: 28/02/2006, 17h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo