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 :

Soucis d'index indéfini


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par défaut Soucis d'index indéfini
    Bonjour,

    je suis en train de créer un programme qui gére des utilisateurs (à l'aide d'une base de données) :
    j'ai une page pour ajouter un nouvel utilisateur, une pour modifier, une pour se logger et une pour supprimer un compte...

    C'est sur cette dernière page que j'ai un soucis :
    Le code fonctionne trés bien mais j'ai juste un problème avec un index indéfini...

    Voici mon code :
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    <form name="2" method="POST" action="Delete.php">
     
    <div id="contenu">
    <h2><center>Saisir vos caractéristiques</center></h2>
     
    Nom : <center>
            <select name="nom" onchange="form.submit();">
                    <option value="choix">Sélectionnez</option>
            <?php
                    mysql_connect ("localhost", "root", "") ; // Connexion à MySQL
                    mysql_select_db ("base") ; // Sélection de la base coursphp
                    $rq = "SELECT nom FROM utilisateurs" ;
                    $res = mysql_query($rq) or die (" erreur sur $rq : ".mysql_error()) ;
                    while ($membre = mysql_fetch_assoc ($res))
                    {
                            echo '<option value="'.$membre['nom'].'" ' ;
                            if (isset ($_POST['nom']) && $_POST['nom'] == $membre['nom'])
                            {
                                    echo " SELECTED " ;
                            }
                            echo '>'.$membre['nom'].' </option>' ;
                    }
            ?>
            </select></center><br>
            <?php
            if (isset ($_POST['nom']))
            {
                    $nom = $_POST['nom'] ;
                    $rq2 = "SELECT * FROM utilisateurs where nom='$nom'" ;
                    $res2 = mysql_query ($rq2) or die (" erreur sur $rq2 : ".mysql_error()) ;
                    $donnee = mysql_fetch_assoc ($res2) ;
     
                    ?>
                    Prénom : <center><input type="text" name="prenom" value="<?php echo $donnee['prénom'] ?>" ></center><br>
     
                    Login : <center><input type="text" name="login"  value="<?php echo $donnee['login'] ?>" ></center><br>
     
                    Password : <center><input type="text" name="pass"  value="<?php echo $donnee['pass'] ?>" ></center><br>
     
                    Société : <center><input type="text" name="société"  value="<?php echo $donnee['société'] ?>" ></center><br>
     
                    Adresse mail : <center><input type="text" name="adresse"  value="<?php echo $donnee['adresse'] ?>" ></center><br>
                    <?php
            }
            mysql_close(); // Déconnexion de MySQL
            ?>
    </div>
     
    <div id="pied_page">
    <br><br><input type="submit" value="Supprimer"><br><br>
    </form>
    <form action="Login.php">
    <input type="submit" value="Retour">
    </form>
    </div>
     
     
    <?php
    mysql_connect("localhost", "root", ""); // Connexion à MySQL
    mysql_select_db("base"); // Sélection de la base coursphp
     
    if(!empty($_POST['nom']))
    {
     
    $nom = htmlentities($_POST ['nom'], ENT_QUOTES) ;
    $prenom = htmlentities($_POST ['prenom'], ENT_QUOTES) ;
    mysql_query("DELETE FROM utilisateurs WHERE nom = '$nom' AND prénom = '$prenom'") ;
     
    $reponse = mysql_query('SELECT * FROM utilisateurs') ;
     
    // Affichage de la table
    while ($donnees = mysql_fetch_array($reponse) or die(mysql_error()) )
    {
    ?>
     
    <p>
    id : <?php echo $donnees['id']; ?><br />
    Nom : <?php echo $donnees['nom']; ?><br />
    Prénom : <?php echo $donnees['prénom']; ?><br />
    Login : <?php echo $donnees['login']; ?> <br />
    Password : <?php echo $donnees['pass']; ?> <br />
    Société : <?php echo $donnees['société']; ?> <br />
    Adresse mail : <?php echo $donnees['adresse']; ?> <br />
    <?php if ( $donnees['type_de_compte'] = 1 ) ?>
            Type de compte : utilisateur
    </p>
     
    <?php
    }
    }
    mysql_close(); // Déconnexion de MySQL
    ?>
    </html>
    Un warning s'affiche comme quoi l'index prenom (zone de texte) est indéfini...

    Comment faire?

    Merci d'avance...

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Salut

    Pour éviter les problèmes, avant la suppression tu peux tester l'existence de la variable $_POST['prenom'], en plus de celle du nom.

    Ou alors donner un nom à ton bouton submit et vérifier qu'il existe.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //...
    <br><br><input type="submit" name="suppr" value="Supprimer"><br><br>
    //...
     
    if (isset($_POST['suppr'])){
       //recuperation de $_POST['nom'], $_POST['prenom']
      //requete DELETE ....
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par défaut
    Ok, c'était sur le bouton que je devais faire le test...

    Merci beaucoup Celira (encore une fois... )

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    De rien
    Ce n'est pas obligatoirement le bouton, mais des fois c'est ce qu'il ya de plus pratique
    En fait, ton problème venait du fait que tu recharges la page à chaque changement sur 'nom'. Donc tu peux avoir une valeur dans nom sans avoir soumis le reste du formulaire.
    Le test du bouton résoud ça
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

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

Discussions similaires

  1. Erreur d'index indéfini
    Par Arman dans le forum Langage
    Réponses: 5
    Dernier message: 26/08/2013, 18h19
  2. Souci d'index et de doublons
    Par catsyl dans le forum Access
    Réponses: 1
    Dernier message: 21/03/2013, 21h50
  3. [MySQL] Variable et index indéfinis
    Par nanah dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/12/2009, 13h36
  4. Soucis d'index dans listview.
    Par azerty53 dans le forum VB.NET
    Réponses: 1
    Dernier message: 24/05/2007, 10h35

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