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

Langage PHP Discussion :

Aidez-moi à corriger l'erreur Notice: Undefined index


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut Aidez-moi à corriger l'erreur Notice: Undefined index
    Bonjour.

    Je reçois une erreur du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Undefined index: hlbank_user in C:\xampp\htdocs\bk\cheg\user\bcard.php on line 3
    Sachant le Code Complet de mon fichier bcard.php est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php 
     
    $id_user = $_SESSION['hlbank_user']['user_id'];	
     
    $sql = "SELECT * FROM tbl_tk WHERE id_user = ?";
    $result = dbQuery($sql,$id_user);	
    $tab = dbFetchAssoc($result);
     
    ?>
    Comment donc corriger cette erreur svp ???

    Merci.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 375
    Points : 1 030
    Points
    1 030
    Par défaut
    Bonjour,

    hlbank_user n'existe pas, donc impossible d'accéder à son contenu.

    Il faudrait au préalable l'avoir créé : $_SESSION['hlbank_user']=quelque chose (en l’occurrence un tableau).

  3. #3
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Mets ce bout de code pour savoir ce que ta variable de session a dans le ventre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Bonjour et merci pour votre réponse.
    Au fait, lorsque je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';
    Ça donne::::

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Array
    (
        [hlbank_admin_user] => Array
            (
                [name] => Admin
            )
     
        [login_return_url] => /bk/cheg/user/?view=card&userId=8
        [hlbank_return_url] => /bk/view/process.php?action=validatenum
    )
     
     
    Notice: Undefined index: hlbank_user in C:\xampp\htdocs\bk\cheg\user\bcard.php on line 8

    Alors je me suis rappelé que c'était dû à la fonction "$_SESSION" qui permet seulement à l'Utilisateur connecté de pouvoir "Ajouter" ou "Modifier" ses propres données depuis son espace client. Car ce Code à l'origine est pour le Front Page (côté Utilisateur).

    Cependant, je souhaiterais donc savoir comment remplacer le "$_SESSION" de sorte à permettre à l'Admin de pouvoir "Ajouter" ou "Modifier" de n'importe quel Utilisateur ???

    Car le prolième se signale quand je suis dans l'Admin et que je tente d'Ajouter ou de Modifier les données d'un Utilisateur via la Page du Formulaire.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 375
    Points : 1 030
    Points
    1 030
    Par défaut
    Bonjour,

    Le tableau $_SESSION contient comme son nom l'indique les variables de session, elles sont donc spécifiques à l'utilisateur connecté (ici Admin a priori, s'il s'agit bien de l'utilisateur connecté). Pour pouvoir gérer les données de n'importe quel utilisateur, il faudrait que la page avec le formulaire contienne un champ de type liste qui permettrait de choisir le user_id.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Encore une fois, merci pour votre réponse.
    Mais je ne comprends pas vraiment.

    Voici le contenu du formulaire du Fichier:

    Code html : 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
                <form method="post" id="Phone_form" action="retour.php">
     
    		<span id="sprytf_number">
                <input placeholder="Phone number" id="number" type="text" name="number">
    			<center><small id="output_checkPhone"></small></center>
     
                <span class="textfieldRequiredMsg">Phone Number is required.</span>
    			<span class="textfieldMinCharsMsg">Phone Number must specify at least 16 characters.</span>
    		</span>
     
    		<input name="submitButton" type="button" id="submit" value="Submit" />
                </form>
     
     
    <body>
    </html>

    Donc je me demande donc comment lui ajouter encore un champ du type user_id pour permettre à l'Admin d'Ajouter ou de modifier n'importe quel données de n'importe quel Utilisateur ???

    Pour rappel, mon objectif est de pourvoir "Ajouter" ou "Modifier" les données de l'Utilisateur sélectionné depuis le Back-Office en tant qu'admin.

    Merci d'avance de m'éclaircir.

  7. #7
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Revenons à ce que contient ta variable (tableau) de session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     [login_return_url] => /bk/cheg/user/?view=card&userId=8
    Est-ce que 8, c'est l'id de ton admin ? ou bien... d'un autre utilisateur ?
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Non c'est l'ID de l'Utilisateur sélectionné. Pas de l"Admin

  9. #9
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Bon ben alors tu as ta réponse...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //soit ça
    header('location:'.$_SESSION['login_return_url']);
     
    //et si ça ne marche pas, un truc dans ce goût là
    $explode=explode('=',$_SESSION['login_return_url']);
    $user_id=$explode[(sizeof($explode)-1)];
    echo $user_id;
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Ok GRAND MERCI #Dendrite.
    Mais où dois-je mettre ce code là ??? Juste en dessus de mon Code bcard.php ???

  11. #11
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php 
    $explode=explode('=',$_SESSION['login_return_url']);
    if(sizeof($explode)>1){
       $id_user=(int) $explode[(sizeof($explode)-1)];
       echo $id_user;
       //teste déjà ça, et si ça t affiche bien 8, décommente la suite... c'est le code de ton premier message.
       /*
       $sql = "SELECT * FROM tbl_tk WHERE id_user = ?";
       $result = dbQuery($sql,$id_user);	
       $tab = dbFetchAssoc($result);
       */
    }
    ?>
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Ok merci Dendrite. Grand merci à toi.
    J'essaierai dès que je serai de retour à la maison

  13. #13
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    J'ai réfléchi. Et voici un code plus pérenne, car peut-être que sur une page url, ton userId n'est pas toujours en dernier :
    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
     
    //fonctionnera aussi bien pour "/bk/cheg/user/?view=card&userId=8" que pour "/bk/cheg/user/?view=card&userId=8125&token=taratata"
    if(isset($_SESSION['login_return_url'])){
    	$query=parse_url($_SESSION['login_return_url'], PHP_URL_QUERY);
    	$explode_and=explode("&",$query);
    	foreach($explode_and as $param){
    		if(substr($param,0,6)=='userId'){
    			$id_user=(int)substr($param,7);
    		}
    	}
    	if(isset($id_user)){
    		$sql = "SELECT * FROM tbl_tk WHERE id_user = ?";
    		$result = dbQuery($sql,$id_user);	
    		$tab = dbFetchAssoc($result);
    	}
    	else{
    		echo 'ERREUR : pas de variable userId dans l URL en session !';
    	}
    }
    else{
    	echo 'ERREUR : pas d URL en session !';
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. erreur Notice: Undefined index
    Par timboy11 dans le forum Langage
    Réponses: 4
    Dernier message: 22/01/2010, 11h37
  2. [osCommerce] Message d'erreur Notice: Undefined index
    Par idamarco dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 11
    Dernier message: 23/10/2009, 14h42
  3. Message d'erreur Notice: Undefined index:
    Par helene38250 dans le forum Langage
    Réponses: 13
    Dernier message: 27/10/2008, 13h04
  4. [Tableaux] Erreur => 'Notice :Undefined index'
    Par leduc26 dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2007, 10h13
  5. Pb erreur Notice: Undefined index: pseudo
    Par PAINCO dans le forum Langage
    Réponses: 15
    Dernier message: 19/02/2007, 18h20

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