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 :

Problème avec le nom d'une balise select [PHP 5.6]


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut Problème avec le nom d'une balise select
    Bonsoir a tous
    je suis en train de mettre un place un formulaire pour l'envoie de donner dans une base mysql :
    j'ai dans ce formulaire deux balises select qui posent problème lors de l'envoi des données
    voici une partie de mon formulaire :
    Code PHP : 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
     
    <fieldset>
            <legend>Informations Académiques</legend>
            <?php 
            echo'<font color="red"> Cliquez sur --liste Niveau-- pour choisir le niveau* </font>';
            echo'<select class="sparkbox-custom name="monniveau" id="monniveau" size="1px" width:50px>'."\n";;
            echo'<option value="-1">--liste Niveau--</option>'."\n";
            $resultat=$bdd->query("select libl_niv from mon_niveau");
            $resultat->setFetchMode(PDO::FETCH_ASSOC);
            foreach ($resultat as $dataniv)
              {
    	    echo '<option value="'.$dataniv['libl_niv'].'">'.$dataniv['libl_niv'].'</option>';
               }
            echo'<select/>';
            $resultat->closeCursor();
            ?>
            <p>
            <p/>
     
            <?php 
            echo'<font color="red"> Cliquez sur --liste Filiere-- pour choisir la filière* </font>';
            echo'<select class="sparkbox-custom name="mafiliere" id="mafiliere" size="1px" width:50px >'."\n";;
            echo'<option value="-1">--liste Filiere--</option>'."\n";
            $resultat=$bdd->query("select liblong_fil from ma_filiere");
            $resultat->setFetchMode(PDO::FETCH_ASSOC);
            foreach ($resultat as $datafil)
              {
    	    echo '<option value="'.$datafil['liblong_fil'].'">'.$datafil['liblong_fil'].'</option>';
               }
            echo'<select/>';
            $resultat->closeCursor();
            ?>
           </fieldset>

    et voici le code php d'envoi des données :
    Code PHP : 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
     
    $insert_query = "INSERT INTO ".mesinfos.
    							" (".
    							" id_info, ".
    							" matricule, ".
    							" num_tab, ".
    							" nom_info, ".
    							" prenom_info, ".
    							" date_nais, ".
    							" lieu_nais, ".
    							" tel_info, ".
    							" sexe_info, ".
    							" contact_info, ".
    							" email_info, ".
    							" choix_ec, ".
    							" choix_nv, ".
    							" choix_fil, ".
    							" choix_an, ".
    							" type_insc, ".
    							" madate_info ". // (pas de virgule)
    							") VALUES (".
    							"  null, ".
    							" :Mat_name, ".
    							" :bac_name, ".
    							" :first_name, ".
    							" :last_name, ".
    							" :last_naiss, ".
    							" :last_lieu, ".
    							" :last_tel, ".
    							" :last_sex, ".
    							" :last_parent, ".
    							" :last_mail, ".
    							" :monecole, ".
    							" :monniveau, ".
    							" :mafiliere, ".
    							" :monannee, ".
    							" :type_ins, ".
    							"  null ".
    							");";
    	  try {
    		$stmt = $pdo->prepare($insert_query);
    		$stmt->bindValue(':Mat_name', 		$Mat_name,			PDO::PARAM_STR);
    		$stmt->bindValue(':bac_name', 		$bac_name,			PDO::PARAM_INT);
    		$stmt->bindValue(':first_name', 	$first_name,		PDO::PARAM_STR);
    		$stmt->bindValue(':last_name', 		$last_name,			PDO::PARAM_STR);
    		$stmt->bindValue(':last_naiss', 	$last_naiss,		PDO::PARAM_STR);
    		$stmt->bindValue(':last_lieu', 		$last_lieu,			PDO::PARAM_STR);
    		$stmt->bindValue(':last_tel', 		$last_tel,			PDO::PARAM_STR);
    		$stmt->bindValue(':last_sex', 		$last_sex,			PDO::PARAM_STR);
    		$stmt->bindValue(':last_mail', 		$last_mail,			PDO::PARAM_STR);
    		$stmt->bindValue(':monecole', 		$monecole,			PDO::PARAM_STR);
    		$stmt->bindValue(':monniveau', 		$monniveau,			PDO::PARAM_STR);
    		$stmt->bindValue(':mafiliere', 		$mafiliere,			PDO::PARAM_STR);
    		$stmt->bindValue(':monannee', 		$monannee,			PDO::PARAM_STR);
    		$stmt->bindValue(':type_ins', 		$type_ins,			PDO::PARAM_STR);
    		$stmt->execute();
    		} 
    		catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }

    et voici les messages d'erreurs lors de l'insertion :
    Notice: Undefined index: monniveau in D:\wamp64\www\rusta_org\formulaire\verif.php on line 20
    Notice: Undefined index: mafiliere in D:\wamp64\www\rusta_org\formulaire\verif.php on line 21
    Use of undefined constant mesinfos - assumed 'mesinfos' in D:\wamp64\www\rusta_org\formulaire\verif.php on line 85
    Erreur SQL : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
    J'ai besoin d'un coup de pouce pour avancer

    Merci a tous

  2. #2
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    /*récupération des variables*/
    $monniveau= $_POST['monniveau'];
    $mafiliere= $_POST['mafiliere'];
    En regardant bien les erreurs 20 et 21
    Notice: Undefined index: monniveau in D:\wamp64\www\rusta_org\formulaire\verif.php on line 20
    Notice: Undefined index: mafiliere in D:\wamp64\www\rusta_org\formulaire\verif.php on line 21
    viennent de ces lignes en dessus. En fait c'est le nom de mes deux balises select. je comprend pas pourquoi ya une erreur la

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    echo var_dump($monniveau);
    me donne null

    Merci à tous

  3. #3
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    les deux premières erreurs ont été résolu en mettant
    "
    au nom niveau class
    Citation Envoyé par PHP
    echo'<select class="sparkbox-custom" name="monniveau" id="monniveau" size="1px" width:50px>'."\n";;


    je cherche toujours pour la dernière erreures
    Notice: Use of undefined constant mesinfos - assumed 'mesinfos' in D:\wamp64\www\rusta_org\formulaire\verif.php on line 87
    Erreur SQL : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens


    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    je viens juste de trouver ! il y avait une ligne en moins au niveau du try {}. pfff terrible la prog.

    Merci a tous

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Bonjour
    Je viens de mettre ce post a non resolu parce que il ya un detail qui ma echappé voici le code incriminé :
    Code php : 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
     
    $insert_query = "INSERT INTO ".mesinfos." (".
    							" matricule, ".
    							" num_tab, ".
    							" nom_info, ".
    							" prenom_info, ".
    							" date_nais, ".
    							" lieu_nais, ".
    							" tel_info, ".
    							" sexe_info, ".
    							" contact_info, ".
    							" email_info, ".
    							" choix_ec, ".
    							" choix_nv, ".
    							" choix_fil, ".
    							" choix_an, ".
    							" type_insc ".
    							") VALUES (".
    							" :Mat_name, ".
    							" :bac_name, ".
    							" :first_name, ".
    							" :last_name, ".
    							" :last_naiss, ".
    							" :last_lieu, ".
    							" :last_tel, ".
    							" :last_sex, ".
    							" :last_parent, ".
    							" :last_mail, ".
    							" :monecole, ".
    							" :choixniv, ".
    							" :choixfil, ".
    							" :monannee, ".
    							" :type_ins ".
    							");";	
     
    	    try {
     
    		$stmt = $pdo->prepare($insert_query);
    		$stmt->bindParam(':Mat_name', $Mat_name, PDO::PARAM_STR);
    		$stmt->bindParam(':bac_name', $bac_name, PDO::PARAM_INT);
    		$stmt->bindParam(':first_name', $first_name, PDO::PARAM_STR);
    		$stmt->bindParam(':last_name', $last_name, PDO::PARAM_STR);
    		$stmt->bindParam(':last_naiss', $last_naiss, PDO::PARAM_STR);
    		$stmt->bindParam(':last_lieu', $last_lieu,	PDO::PARAM_STR);
    		$stmt->bindParam(':last_tel', $last_tel, PDO::PARAM_STR);
    		$stmt->bindParam(':last_sex', $last_sex, PDO::PARAM_STR);
    		$stmt->bindParam(':last_parent', $last_parent, PDO::PARAM_STR);
    		$stmt->bindParam(':last_mail', $last_mail, PDO::PARAM_STR);
    		$stmt->bindParam(':monecole', $monecole, PDO::PARAM_STR);
    		$stmt->bindParam(':choixniv', $choixniv, PDO::PARAM_STR);
    		$stmt->bindParam(':choixfil', $choixfil, PDO::PARAM_STR);
    		$stmt->bindParam(':monannee', $monannee, PDO::PARAM_STR);
    		$stmt->bindParam(':type_ins', $type_ins, PDO::PARAM_STR);
     
    		echo var_dump($insert_query);
     
    		$stmt->execute();
     
    		} 
    		catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); 
    }

    et voici l'erreur qui est généré !

    Notice: Use of undefined constant mesinfos - assumed 'mesinfos' in D:\wamp64\www\rusta_org\formulaire\verif.php on line 97
    J'ai chercher tout le weekend mais je ne vois pas encore je suis complétement bloqué.

    Merci a tous

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    il te faut soit comprendre l'anglais, soit utiliser un traducteur.
    Dans tous les cas, il te faut COMPRENDRE les messages d'erreur.

    L'erreur est claire : la constante "mesinfos" n'est pas définie.

    (à supposer que ce soit bien la ligne 97)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $insert_query = "INSERT INTO ".mesinfos." (".
    Il faut donc la définir (et/ou inclure le fichier de définition des constantes).

  7. #7
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    mesinfos n'est pas une constante c'est le nom de ma table ! il ya donc une erreur dans l’écriture (syntaxe) du code
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $insert_query = "INSERT INTO ".mesinfos." (".
    En cherchant un peu j'ai modifié par la ligne
    Code 'php : Sélectionner tout - Visualiser dans une fenêtre à part
     $insert_query = "INSERT INTO mesinfos (".
    (suppression des "") et ça marche !

    Merci a tous

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

Discussions similaires

  1. [AC-2010] Problème avec les noms comprenant une apostrophe
    Par docjo dans le forum VBA Access
    Réponses: 5
    Dernier message: 26/07/2012, 15h09
  2. [JDOM] Récupérer le nom d'une balise XML avec JDOM
    Par cendrine15 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 10/04/2012, 15h18
  3. Comment récupérer le nom d'une balise XML avec DOM ?
    Par Predatorus26 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 28/05/2010, 15h54
  4. [XL-2003] Problème avec la sélection d'une feuille excel -Sheets("Feuille").Select-
    Par -Naek- dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/04/2009, 17h13
  5. problème avec les résultats d'une requête select top1
    Par kariiim dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/03/2007, 15h05

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