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 :

Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1 [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Points : 49
    Points
    49
    Par défaut Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1
    Bonjour,
    Je suis entrain de faire une migration vers PDO en php mais je suis debutant actuellement.
    J'avais l'habitude d'utiliser l'ancienne manière de travailler avec mysql (mysql_connect...) mais je veux maintenant effectuer une migration de mes pages web vers PDO où je ne me retrouve pas pour l'instant. Besoin de votre aide pour acherver la migration. Merci d'avance. Voici ci-dessous le code de la page...
    Le code suivant m'affiche une erreur de ce genre:
    Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1
    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
    95
     
             <!DOCTYPE html>
    <html>
        <head>
    	    <meta charset="utf-8" />
    	    <title>voeux des clients</title>
    		<link rel="stylesheet" href="sogim.css" />
    		<link rel="stylesheet" href="css/bootstrap.min.css" />
    		<link rel="stylesheet" href="css/bootstrap-theme.min.css"/>
    	</head> 
     
    	    <body>    
    			    <div id="bloc_page">
    				    <?php
    					    include("entete.php");
    					    /* include("fonctions.php"); */
                        ?>
    			        <section class="row">
    		                <div  align="center" class="col-md-12 col-sm-12 col-xm-12">       
                                <?php
                                    if(isset($_POST['valider']))
    						            {
                                            //On récupère les valeurs entrées par l'utilisateur :
    							$civ=$_POST['civ'];
                                $nom=$_POST['nom'];
                                $prenom=$_POST['prenom'];
                                $contact=$_POST['contact'];
    							$email=$_POST['email'];
    							$message=$_POST['message'];
                                //On construit la date d'aujourd'hui strictement comme sql la construit
                                $today = date("y-m-d");
     
    				            echo '<h2>Vos informations saisies sont les suivantes<br></h2>';
    					        echo $civ.' '. htmlspecialchars($_POST['nom']).' '.htmlspecialchars($_POST['prenom']).'<br><u>Vos contacts:</u>'.htmlspecialchars($_POST['contact']).'<br> <u>Adresse E-mail:</u> '.htmlspecialchars($_POST['email']).'</br> Ensuite <u>votre message:</u> '.nl2br (htmlspecialchars ($_POST['message'])).'<br> 
    						    <form method="POST" action="result_voeux.php" >
    						        <input type="hidden" name="civ2" value="'.$civ.'">
    	                            <input type="hidden" name="nom2" value="'.$nom.'">
    	                            <input type="hidden" name="prenom2" value="'.$prenom.'">
    	                            <input type="hidden" name="contact2" value="'.$contact.'">
    	                            <input type="hidden" name="email2" value="'.$email.'">
    	                            <input type="hidden" name="message2" value="'.$message.'"> </br>
    	                            '.'date : '. date("y-m-d").'<br>
    							   <input type="submit" name="annuler" value="Annuler"> &nbsp; &nbsp
    	                           <input type="submit" name="confirmer" value="Confirmer">
    					       </form>';
    					    }   
    						?>	  
    						<?php
    						if(isset($_POST['confirmer']))
    						{
    						//récupération des variables issues de la confirmation
    							$civ2=isset($_POST['civ2']) ? $_POST['civ2'] : '' ;
                                $nom2 = isset($_POST['nom2']) ? $_POST['nom2'] : '' ;
                                $prenom2 = isset($_POST['prenom2']) ? $_POST['prenom2'] : '' ;
                                $contact2= isset($_POST['contact2']) ? $_POST['contact2'] : '';
    							$email2= isset($_POST['email2']) ? $_POST['email2'] : '';
    							$message2= isset($_POST['message2']) ? $_POST['message2'] : '';
    							$today2 = date('y-m-d');
     
    							try
    		                        {
    		                            //On se connecte à mysql
    		                            $bdd = new PDO ('mysql:host=localhost;dbname=bdsogim', 'root', '');
    		                        }
    		                            catch(Exception $e)
    			                            {
    				                            //En cas d'erreur, on affiche un message et on arrète tout
    				                            die('Erreur:'.$e->get_Message());
    				                        }	
    						 $req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2) 
    						  VALUES(:civ2, :nom2, :prenom2, :contact2, :email2, :message2, :today2)');
    						$req->execute(array(
    						'civ2'=>$_POST['civ2'], 'nom2'=>$nom2, 'prenom2'=>$prenom2, 'contact2'=>$contact2, 'email2'=>$email2, 'message2'=>$message2, 
    						  'today2'=>$today2)) or die (print_r($req->errorInfo())); 
     
    						   $req->closeCursor();
    							echo ' <h4>Votre demande a bien été enregistré!</h4>';
    							echo ' <h4>Merci de nous avoir écrit!</h4>';
    						}
                                else
    							    {
    						                    location:header('voeux.php');
     
    							    }							
                          ?>
    		        </div>
    					<?php
                            include('new_footer.php');
                        ?>					  	
    		    </section> 
            </div>  	    
    	    </body>
    		    <script src="js/jquery.js">	</script>
    			<script src="js/bootstrap.min.js"></script>
    	</html>
    Ce code m'ffiche une erreur de ce genre:
    Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1
    dont je ne comprends pas. Merci d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	 $req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2) 
    	  VALUES(:civ2, :nom2, :prenom2, :contact2, :email2, :message2, :today2)');
    	$req->execute(array(
    	'civ2'=>$_POST['civ2'], 'nom2'=>$nom2, 'prenom2'=>$prenom2, 'contact2'=>$contact2, 'email2'=>$email2, 'message2'=>$message2, 
    	  'today2'=>$today2)) or die (print_r($req->errorInfo()));
    Il manque les ":" :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	$req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2) 
    	VALUES(:civ2, :nom2, :prenom2, :contact2, :email2, :message2, :today2)');
    	$req->execute(array(
    		':civ2'=>$_POST['civ2'], 
    		':nom2'=>$nom2, 
    		':prenom2'=>$prenom2, 
    		':contact2'=>$contact2, 
    		':email2'=>$email2, 
    		':message2'=>$message2, 
    		':today2'=>$today2
    		)) or die (print_r($req->errorInfo()));

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Points : 49
    Points
    49
    Par défaut
    Bonjour doyen. Je ne veux pas l'affichage sur le site mais plutot les informations doivent aller dans la base de données. La page traite seulement les données pour les enregistrer dans la bd.

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Busima Voir le message
    Bonjour doyen. Je ne veux pas l'affichage sur le site mais plutot les informations doivent aller dans la base de données. La page traite seulement les données pour les enregistrer dans la bd.


    Alors le vieux ?!!? tu ne comprends pas ce que te demande le monsieur
    Il ne tape pas assez fort sur son clavier ? C'est ça !??!?

    Bonne chance doyen


  5. #5
    Invité
    Invité(e)
    Par défaut
    Non mais dites donc ?!

    J'ai encore toutes mes dents !!

  6. #6
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je vais poser une question bête. Pourquoi dans le code suivant utilises-tu directement $_POST['civ2'] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $req->execute(array(
            'civ2' => $_POST['civ2'],
            'nom2' => $nom2,
            'prenom2' => $prenom2,
            'contact2' => $contact2,
            'email2' => $email2,
            'message2' => $message2,
            'today2' => $today2
        )) or die(print_r($req->errorInfo()));
    Alors que juste au dessus tu réalises un contrôle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $civ2 = isset($_POST['civ2']) ? $_POST['civ2'] : '';
    ?

    Et effectivement, jreaux a raison, il faut les : devant les noms des marqueurs dans l'appel à execute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        $req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2) 
    						  VALUES(:civ2, :nom2, :prenom2, :contact2, :email2, :message2, :today2)');
        $req->execute(array(
            ':civ2' => $civ2,
            ':nom2' => $nom2,
            ':prenom2' => $prenom2,
            ':contact2' => $contact2,
            ':email2' => $email2,
            ':message2' => $message2,
            ':today2' => $today2
        )) or die(print_r($req->errorInfo()));


    @jreaux : T'es inscrit depuis près de 8 ans, c'est vieux 8 ans pour un dalmatien
    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]

  7. #7
    Invité
    Invité(e)
    Par défaut
    @Celira

    Pourquoi tant de N ??

    Ma chienne a 9 ans, et elle va très bien !
    Elle aussi a encore toutes ses dents !

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Points : 49
    Points
    49
    Par défaut Merci jreaux62
    Merci jreaux62, mais le problème persiste après que j'ai mis les ":" Encore merci!

  9. #9
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Question bête : tu as bien une colonne civ2 dans ta table voeux_clients ? (c'est bizarre comme nom de colonne )
    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]

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

    Réponse (pas) bête : civ = civilité (et pas civet de lapin). (ah si ! bête quand même)

    Citation Envoyé par Busima Voir le message
    ...mais le problème persiste ...
    Ca ne nous aide pas beaucoup...

    • quel est ton code corrigé ?
    • as-tu vérifié que les valeurs sont bien remplies et correctes ?
    • as-tu un message d'erreur ? Si oui, lequel ?
    • ...


    Sapristi, au travail, mon jeune ami !

  11. #11
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    @jreaux : oui, le "civ" j'avais compris. C'est le "2" en suffixe qui me perturbe. Pourquoi appeler toutes les colonnes d'une table "xxxx2" ?
    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]

  12. #12
    Invité
    Invité(e)
    Par défaut
    comme quoi ce n'était vraiment pas une question "bête"

    Du coup, on peut se poser la question pour tous les autres champs : civ2, nom2, prenom2, contact2, email2, message2, today2
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        $req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2)
    ...........

    (pourtant, si ces champs n'existent pas, une erreur aurait dû être signalée, non ?)

  13. #13
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    @jreaux : Tu veux dire une erreur du genre " le problème persiste après que j'ai mis les ":" " ? Je propose qu'on arrête de parler entre nous et qu'on laisse répondre Busima.
    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]

  14. #14
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 385
    Points : 10 413
    Points
    10 413
    Par défaut
    Citation Envoyé par Celira Voir le message
    @jreaux : Tu veux dire une erreur du genre " le problème persiste après que j'ai mis les ":" " ?
    Remarquez c'était à prévoir car ça fonctionne aussi si on ne met pas les ":" devant les marqueurs dans le tableau des données. Ils sont indispensables uniquement dans la requête, pas dans le tableau qu'on passe dans le execute

    @Busima : Salut poussin
    Il me semble que la première chose à faire est d'activer l'affichage des erreurs puisque apparemment tu n'y vois rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    pour gérer les exceptions dans un bloc try/cath

  15. #15
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Points : 49
    Points
    49
    Par défaut
    ABCIWEB, j'ai placé ce code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    et voici le message qu'on m'affiche maintenant:
    ( ! ) Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'civ2' in 'field list' in C:\wamp\www\xxxx\result_voeux.php on line 82
    Call Stack
    # Time Memory Function Location
    1 0.0049 397512 {main}( ) ..\result_voeux.php:0
    2 0.0350 406368 PDOStatement->execute( ) ..\result_voeux.php:82
    Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1

  16. #16
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Points : 49
    Points
    49
    Par défaut
    Je replace encore le code:
    voici la page 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
    36
    37
    38
    39
    40
    41
    42
    43
    <! DOCTYPE html>
    <html>
        <head><title>voeux</title>
    	    <link rel="stylesheet" href="sogim.css" />
    		<link rel="stylesheet" href="voeux.css" />
    		<link rel="stylesheet" href="css/bootstrap.min.css" />
    		<link rel="stylesheet" href="css/bootstrap-theme.min.css"/>
    	</head>
            <body>
    		<div id="bloc_page">
    		        <?php include('entete.php'); ?>
    			<section class="row">
    			    <article class="col-md-12 col-sm-12 col-xm-12">
                        <h2>Remplissez ces champs et faites nous parvenir votre message svp!</h2>
                        <h3><u>Formulaire:</u></h3>
                        <form name="inscription" method="post" action="result_voeux.php">
    				        Mr<input type="radio" name="civ" value="Mr"> 
    					    Mme<input type="radio" name="civ" value="Mme"> 
    					    Mlle<input type="radio" name="civ" value="Mlle"> </br></br>
                            Votre Nom :  &nbsp;&nbsp;<input type="text" name="nom"/> <br/><br/>
                            Vos prenoms: <input type="text" name="prenom"/> </br><br/>
                            Vos contacts :<input type="text" name="contact"/><br/><br/>
    					    Votre email : <input type="email" name="email"/><br/>
    					    <p class="msg">
    					        <h3><u>Votre Message ici:</u></h3>
     
                 					    <textarea name="message" rows="10" cols="45" placeholder="Votre message ici">
     
    								    </textarea>
    								    <input type="submit" name="valider" value="Valider"/>
     
    					    </p>
    					</form>
    				</article>
    			</section>
    	    </div> 
    					<?php
    					    include ('new_footer.php');
    					?>
    					<script src="js/jquery.js">	</script>
    				    <script src="js/bootstrap.min.js"></script>
    </body>
    </html>
    Voici ensuite le code de la page de traitement:
    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
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
    <!DOCTYPE html>
    <html>
        <head>
    	    <meta charset="utf-8" />
    	    <title>voeux des clients</title>
    		<link rel="stylesheet" href="sogim.css" />
    		<link rel="stylesheet" href="css/bootstrap.min.css" />
    		<link rel="stylesheet" href="css/bootstrap-theme.min.css"/>
    	</head> 
     
    	    <body>    
    			    <div id="bloc_page">
    				    <?php
    					    include("entete.php");
    					    /* include("fonctions.php"); */
                        ?>
    			        <section class="row">
    		                <div  align="center" class="col-md-12 col-sm-12 col-xm-12">       
                                <?php
                                    if(isset($_POST['valider']))
    						            {
                                            //On récupère les valeurs entrées par l'utilisateur :
    							$civ=$_POST['civ'];
                                $nom=$_POST['nom'];
                                $prenom=$_POST['prenom'];
                                $contact=$_POST['contact'];
    							$email=$_POST['email'];
    							$message=$_POST['message'];
                                //On construit la date d'aujourd'hui strictement comme sql la construit
                                $today = date("y-m-d");
     
    				            echo '<h2>Vos informations saisies sont les suivantes<br></h2>';
    					        echo $civ.' '. htmlspecialchars($_POST['nom']).' '.htmlspecialchars($_POST['prenom']).'<br><u>Vos contacts:</u>'.htmlspecialchars($_POST['contact']).'<br> <u>Adresse E-mail:</u> '.htmlspecialchars($_POST['email']).'</br> Ensuite <u>votre message:</u> '.nl2br (htmlspecialchars ($_POST['message'])).'<br> 
    						    <form method="POST" action="result_voeux.php" >
    						        <input type="hidden" name="civ2" value="'.$civ.'">
    	                            <input type="hidden" name="nom2" value="'.$nom.'">
    	                            <input type="hidden" name="prenom2" value="'.$prenom.'">
    	                            <input type="hidden" name="contact2" value="'.$contact.'">
    	                            <input type="hidden" name="email2" value="'.$email.'">
    	                            <input type="hidden" name="message2" value="'.$message.'"> </br>
    	                            '.'date : '. date("y-m-d").'<br>
    							   <input type="submit" name="annuler" value="Annuler"> &nbsp; &nbsp
    	                           <input type="submit" name="confirmer" value="Confirmer">
    					       </form>';
    					    }   
    						?>	  
    						<?php
    						if(isset($_POST['confirmer']))
    						{
    						//récupération des variables issues de la confirmation
    							$civ2=isset($_POST['civ2']) ? $_POST['civ2'] : '' ;
                                $nom2 = isset($_POST['nom2']) ? $_POST['nom2'] : '' ;
                                $prenom2 = isset($_POST['prenom2']) ? $_POST['prenom2'] : '' ;
                                $contact2= isset($_POST['contact2']) ? $_POST['contact2'] : '';
    							$email2= isset($_POST['email2']) ? $_POST['email2'] : '';
    							$message2= isset($_POST['message2']) ? $_POST['message2'] : '';
    							$today2 = date('y-m-d');
     
    							try
    		                        {
    		                            //On se connecte à mysql
    		                            $bdd = new PDO ('mysql:host=localhost;dbname=bdsogim', 'root', '');
    									//$bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
    									$bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
    		                        }
    		                            catch(Exception $e)
    			                            {
    				                            //En cas d'erreur, on affiche un message et on arrète tout
    											$bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
    				                            die('Erreur:'.$e->get_Message());
    				                        }
     
    	                    $req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2) 
    	                    VALUES(:civ2, :nom2, :prenom2, :contact2, :email2, :message2, :today2)');
    	                    $req->execute(array(
    		                ':civ2'=>$_POST['civ2'], 
    		                ':nom2'=>$nom2, 
    		                ':prenom2'=>$prenom2, 
    		                ':contact2'=>$contact2, 
    		                ':email2'=>$email2, 
    		                ':message2'=>$message2, 
    		                ':today2'=>$today2)) or die (print_r($req->errorInfo()));
     
    						   $req->closeCursor();
    							echo ' <h4>Votre demande a bien été enregistré!</h4>';
    							echo ' <h4>Merci de nous avoir écrit!</h4>';	
    						}
                                else
    							    {
    						            location:header('voeux.php');     
    							    }							
                          ?>
    		        </div>
    					<?php
                            include('new_footer.php');
                        ?>					  	
    		    </section> 
            </div>  	    
    	    </body>
    		    <script src="js/jquery.js">	</script>
    			<script src="js/bootstrap.min.js"></script>
    	</html>
    Après exécution, voici le message d'erreur qu'on m'affiche:
    Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'civ2' in 'field list' in C:\wamp\www\xxxx\result_voeux.php on line 82
    Call Stack
    # Time Memory Function Location
    1 0.0010 397512 {main}( ) ..\result_voeux.php:0
    2 0.0496 406368 PDOStatement->execute( ) ..\result_voeux.php:82
    Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1
    Encore merci pour le temps que vous accordez à l'analyse des préoccupations de tous le monde.

  17. #17
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 385
    Points : 10 413
    Points
    10 413
    Par défaut
    Bah oui, c'était la question/remarque de Celira que tu peux maintenant constater de visu.
    Column not found: 1054 Unknown column 'civ2' in 'field list' in C:\wamp\www\xxxx\result_voeux.php on line 82
    veux dire que le champ "civ2" n'existe pas dans ta table "voeux_clients".

    Par ailleurs que tu utilises l'attribut PDO::ERRMODE_WARNING ou l'attribut PDO::ERRMODE_EXCEPTION pour gérer les erreurs, une seule fois suffit (pas besoin de le répéter plusieurs fois dans le code, c'est valable tant que tu utilises cette connexion).

  18. #18
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Points : 49
    Points
    49
    Par défaut
    Pourtant le champ civ2 existe belle et bien là... Vous même le voyez parmis les champs du formulaire non? Je ne vois même pas d'où provient l'erreur, c'est ce qui me fatigue...

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

    Quelle est la structure de la TABLE dans la base de donnees ?

  20. #20
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Points : 49
    Points
    49
    Par défaut
    Bonjour, voici la structure de la table dans la bd:
    table voeux_clients

    id_voeux_clients int(11)
    civilite varchar(5)
    nom varchar(20)
    prenom varchar(30)
    contact varchar(22)
    email varchar(50)
    message varchar(10000)
    date_envoi datetime

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. #1054 - Unknown column 'created_at' in 'field list'
    Par Jeandu44 dans le forum Requêtes
    Réponses: 8
    Dernier message: 02/05/2016, 14h30
  2. #1054 - Unknown column 'dateRecherche' in 'where clause
    Par omelhor dans le forum Requêtes
    Réponses: 5
    Dernier message: 30/12/2011, 11h01
  3. 1054 - Unknown column 'L' in 'field list'
    Par Pacman23 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 05/10/2009, 10h12
  4. erreur : #1054 - Unknown column 'Martin' in 'where clause'
    Par éric1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/08/2009, 15h29
  5. 1054 - Unknown column 'language_id' in 'where clause'
    Par Tonio_17000 dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/06/2009, 22h01

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