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 :

Comment ajouter une valeur de type liste à ma base de données ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut Comment ajouter une valeur de type liste à ma base de données ?
    bonsoir,
    Mon formulaire contient le champ "Type" qui est une liste ayant 2 valeurs: User et Admin.
    Je n'arrive pas à ajouter ces valeurs à ma base de données, on m'affiche cette erreur:
    Notice: Undefined index: type in D:\SITE Messagerie CS5\MESSAGERIE BIEN CODEE\Page Admin\Ajouter_employe_FIN.php on line 12

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Attention aux majuscules "Type" ce n'est pas "type".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    Merci pour votre réponse.
    Après vérification, j'ai écrit le "type" en minuscules, j'ai fait une erreur en l'écrivant ici.
    Je vous donne le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <label for="type">Type<span class="étoile">*</span> :</label>
          <select>
            <option name="type">Admin</option>
            <option name="type">User</option>
          </select>
    J'ai ajouté le name pour qu'il prenne en compte les champs, mais ça ne change rien.
    J'ai remarqué quelque chose avec un autre champ, qui lui prend aussi deux valeurs: sexe: Homme ou Femme.
    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <label for="sexe">Sexe<span class="étoile">*</span> :</label>
          <input name="sexe" type="radio" id="sexe" value="H" />
          H
          <input name="sexe" type="radio" value="F" />
          F<br />
    J'ai remarqué que quand je ne remplie pas ce champ, on m'affiche la même erreur
    Notice: Undefined index: sexe
    Ma conclusion c'est que, dans le champ "type" on ne prend pas en compte le fait que j'ai sélectionné une valeur, d'où la même erreur.
    Qu'en-pensez-vous ?

  4. #4
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Bonjour.
    Tu peux forcer le formulaire à renvoyer une valeur par défaut :

    Pour le type radio, tu peux ajouter "checked" à un des 2 choix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="sexe" type="radio" id="sexe" value="H" checked="checked" />
    idem pour option où tu ajoutes "selected"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option name="type" selected="selected">User</option>

    Par ailleurs, il y a peut-être une erreur de code dans Ajouter_employe_FIN.php. il serait judicieux que tu postes les lignes qui récupèrent les valeurs.

    Yves
    Participez vous aussi !
    Message utile
    Discussion résolue

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    Merci Yves!
    Je ne connaissais pas selected, j'ai forcé le formulaire , résultat ça marche pour "sexe" mais ça ne marche tjrs pas pour "type" aucune donnée n'a été reçue.
    Je poste le code PHP complet pour toutes les données du formulaire:
    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
    <?PHP
    if (isset($_POST['submit']))
    { $nom=htmlentities(trim($_POST['nom']));
      $prenom=htmlentities(trim($_POST['prenom']));
      $sexe=htmlentities(trim($_POST['sexe']));
      $date=htmlentities(trim($_POST['date']));
      $num=htmlentities(trim($_POST['num']));
      $code=htmlentities(trim($_POST['code']));
      $username=htmlentities(trim($_POST['username'])); //virer espaces et tag
      $password=htmlentities(trim($_POST['password']));
      $repeatpassword=htmlentities(trim($_POST['repeatpassword']));
      $type=htmlentities(trim($_POST['type']));
      if ($username&&$password&&$repeatpassword)
      { if($password==$repeatpassword)
         {
    	 }else echo"Les deux passwords doivent être identiques";
    	/* 
        //Crypter le password ;*/
        $password=md5($password);
    	//Se connecter à la BDD
        $connect=mysql_connect('localhost','root','') or die(Error);
        mysql_select_db('bdd__messagerie'); //sélectionner BDD
    //
    	$reg=mysql_query("SELECT * FROM personne WHERE login='$username'")or die(mysql_error());
    	$rows=mysql_num_rows($reg); 
    	if ($rows==0) //il n'a pas trouvé de raouf
    	{
    //	
    	$query=mysql_query("INSERT INTO personne VALUES('','$nom','$prenom','$sexe','$date','$num','$code','$username','$password','','$type')"); //Requête sql
    	die("Inscription terminee <a href='Ajouter_employe_FIN.php'> Connectez-vous </a>"); 
       }//redirige vers la page connexion
       else echo"Ce pseudo n'est pas disponible";
      }else echo"Veuillez saisir tous les champs";
    }
    ?>
    On m'affiche l'erreur à la ligne 12:
    Notice: Undefined index: type in D:\SITE Messagerie CS5\MESSAGERIE BIEN CODEE\Page Admin\Ajouter_employe_FIN.php on line 12
    Inscription terminee Connectez-vous

  6. #6
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    C'est une pb de code html ... le "name" doit se trouver dans la balise select et non dans input, en revanche la valeur doit s'y trouver.
    Au lieu de
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          <select>
            <option name="type">Admin</option>
            <option name="type">User</option>
          </select>
    écris plutôt
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <select name="type">
            <option value="Admin">Admin</option>
            <option value="User" selected="selected">User</option>
    </select>
    Participez vous aussi !
    Message utile
    Discussion résolue

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    Je vous remercie énormément
    Le problème est résolu

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

Discussions similaires

  1. [SP-2007] Ajouter une colonne de type "liste" dans une liste personnalisé
    Par strinty dans le forum SharePoint
    Réponses: 4
    Dernier message: 13/01/2011, 13h26
  2. [OL-2003] Comment ajouter une adresse mail à la liste des expéditeurs bloqués ?
    Par Vincent_04 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 15/11/2010, 14h26
  3. Réponses: 2
    Dernier message: 12/10/2009, 18h28
  4. Comment Ajouter une valeur nulle a une table d'un dataset?
    Par baradoss dans le forum Windows Forms
    Réponses: 11
    Dernier message: 17/05/2009, 20h47
  5. Comment ajouté une valeur
    Par solorac dans le forum Excel
    Réponses: 11
    Dernier message: 14/08/2007, 08h41

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