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 :

PHP - Notice : Undefined index [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 28
    Par défaut PHP - Notice : Undefined index
    Bonjour à tous, j'ai un petit soucis (mais tout de même embêtant), je suis actuellement en train de crée un application web et me voilà confronté à un problème, (voir image)
    Nom : Annotation 2019-01-31 163310.jpg
Affichages : 1191
Taille : 58,0 Ko

    donc voilà, ma requête récupère bien les données qui ont été saisie mais ne veut pas récupéré l'id de l'utilisateur qui à été sélectionné (pourtant cette dernière partie devrais fonctionné puisque l'id s'affiche bien dans la barre de recherche à la page précédent comme suis Nom : Annotation 2019-01-31 163609.jpg
Affichages : 1020
Taille : 5,1 Ko.

    Je vous donne donc un aperçue de mon code pour une éventuelle aide de votre part.

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?php
    include_once 'config.php';
     
     
    if (!empty($_POST['pseudo'])) {
        $db = new PDO("mysql:host=" . Config::SERVEUR . ";dbname=" . Config::BASE, Config::UTILISATEUR, Config::MOTDEPASSE);
     
        $passe = $_POST['password'];
        $passe1 = $_POST['password_confirmation'];
     
     
    // Début de la condition
        if ($passe == $passe1) {
    		$id = $_POST['id'];
            $pseudo = $_POST['pseudo'];
    		$nom = $_POST['nom'];
    		$prenom = $_POST['prenom'];
            $passe = password_hash($_POST['password'], PASSWORD_DEFAULT);
     
          if (!empty($_POST['contact'])){
     
            $radio1 = $_POST['contact'];
    		$maj = $db->prepare("UPDATE utilisateurs SET pseudo ='$pseudo', nom ='$nom', prenom = '$prenom', password = '$passe', Niveau = '$radio1' WHERE id = '$id'");
            $maj->execute();
            echo "\nPDO::errorInfo():\n";
    		  print_r($maj->errorInfo());
    		var_dump($maj);
            $resultat = $maj->fetch();
     
     
           // header('Location: list_utilisateurs.php');
        }
     
            }
        } 
        else {
            echo 'Les deux mots de passe que vous avez rentrés ne correspondent pas…';
        }
    ?>

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 73
    Par défaut
    Bonjour.

    Le message est plutôt clair :
    Dans ton script modif_back.php, ligne 14, tu utilises id_user comme index. Et id_user n'est pas défini, alors PHP râle...

    Le problème, c'est que dans le bout de code que tu nous donnes je ne vois pas id_user, et la ligne 14 est le test $passe == $passe1, ce qui ne correspond pas à ton message !
    Il nous faudrait au moins la ligne qui te pose problème...
    En attendant, tu peux déjà afficher le contenu de $_POST, histoire de voir...

    PS :
    - N'oublie pas de protéger les variables que tu reçois via un POST
    - L'intérêt des requêtes préparées est justement d'éviter de mettre "en dur" tes variables...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- le code que tu montres ne comporte pas de "id_user"...

    2- Par contre, si tu veux le récupérer dans l'URL, c'est $_GET qu'il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id = ( !empty($_GET['id_user']) && is_numeric($_GET['id_user']) )? $_GET['id_user'] : 0;
    3- Mais bon.
    Vu que tu récupères les autres données via $_POST, autant le faire aussi.
    Dans le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form method="post" .... >
       <input type="hidden" value="<?php echo $id_user; ?>" />

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 28
    Par défaut
    Je vous remercie j'ai résolu mon problème, j'ai juste fais une erreur de rigueur car mon id_user ce trouve lors du formulaire mais je n'en avais pas lors de la mise à jours.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. aide pour facture sous php : Notice: Undefined index
    Par le beauceron dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2012, 23h15
  2. php Notice: Undefined index:
    Par DaYonyon dans le forum Langage
    Réponses: 5
    Dernier message: 20/01/2010, 12h17
  3. [PHP-JS] Problème Notice: Undefined index
    Par Sniper94-2 dans le forum Langage
    Réponses: 1
    Dernier message: 19/04/2007, 16h45
  4. Réponses: 8
    Dernier message: 03/04/2007, 10h01
  5. [Php] error : Undefined index: MyBrainFound
    Par cyrill.gremaud dans le forum Langage
    Réponses: 3
    Dernier message: 14/02/2006, 11h39

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