Problème d'insertion dans la base de données

Messages postés
4
Date d'inscription
mardi 29 octobre 2019
Statut
Membre
Dernière intervention
8 novembre 2019
-
Bonjour à tous,
J'avais posté un message dans lequel j'ai signifié que j'ai un problème d'insertion de données dans ma base et même mis les différents codes.

Aujourd'hui encore le même problème demeure, ce pourquoi je me permets de mettre à votre disposition ces codes afin de m'aider.
->HTML: page_fournisser.php
 <?php 
    include_once '../config/connexion.php';
    include_once '../class/fournisseur.class.php';
       if(isset($_POST["ajouter"]) && isset($_POST["matri_four"])&& isset($_POST["name_four"]) && isset($_POST["raisonso"]) && 
          isset($_POST["adresse"]) && isset($_POST["contact"]) && isset($_POST["fax"]) && isset($_POST["adresse_email"])){
              
           $four = new Fournisseur($_POST["matri_four"], $_POST["name_four"], $_POST["raisonso"], $_POST["adresse"], $_POST["contact"], $_POST["fax"], $_POST["adresse_email"]);
           
            // Appel de la fonction 
           $four->InsertFournisseur();
           // Test sur la de fonction InsertFournisseur

                if($four=="OK"){
                    echo 'Bon enregistrement';
                }
                else{
                    echo "Echec d'enregistrement";
                }

       }

           
?>

<!doctype html>
<html>
 <head>
            <title>Fournisseurs</title>
            <link rel="stylesheet" href="../static/css/fondecran.css" type="text/css">
            <link rel="shortcut icon" href="../static/images/LogoCondicaf.ico" type="image/x-icon"> 
 </head>
        <body>
            <?php include_once 'page_menu.php'; ?>
                <form method="post" action="">
                    <center> 
                        <div id="div-ajout"><strong>    AJOUTER   FOURNISSEUR </strong></div>
                        <div id="div-user">
                                 <table>
                                     <tr>
                                         <td>N° fournisseur</td>
                                         <td><input type="text" name="matri_four" size="10"/></td>
                                     </tr>
                                           <tr><td> </td></tr>

                                     <tr>
                                         <td>Nom fournisseur</td> 
                                         <td><input type="text" name="name_four" size="25"/></td>
                                     </tr>
                                     <tr>
                                         <td>Raison sociale</td>
                                         <td><input type="text" name="raisonso" size="25"/></td>
                                     </tr>
                                     <tr>
                                         <td>Adresse</td> 
                                         <td><input type="text" name="adresse" size="25"/></td>
                                     </tr>
                                     <tr><td>Téléphone</td>
                                         <td><input type="text" name="contact" size="25"/></td>
                                     </tr>
                                     <tr>
<td>Fax</td>
                                         <td>
                                            <input type="text" name="fax" size="25"/>
                                         </td>
                                     </tr>
                                     <tr><td>Adresse email</td>
                                         <td><input type="email" name="adresse_email" size="25"/></td>
                                     </tr>
<tr>
      <td><input type="submit" name="ajouter"  value="Ajouter" /></td>
      <td><input type="reset" name="vider"  value="Vider" /></td>
        <td><input type="button" name="imprimer"  value="Imprimer" /></td>
         <td><input type="button" name="fermer"  value="Fermer" /></td>
   </tr>
                                 </table> 
        </form>
</body>
</html>


------------------------------------------
-> PHP: fournisseur.class.php
<?php

/*
Insertion de la base de données */
include_once '../config/connexion.php';

class Fournisseur {
    //put your code here
    private $matri_four;
    private $name_four;
    private $raisonso;
    private $adresse;
    private $contact;
    private $fax;
    private $adresse_email;
    private $bdd;


    public function __construct($matri_four, $name_four, $raisonso, $adresse, $contact, $fax, $adresse_email) {
        $matri_four = htmlspecialchars($matri_four);
        $name_four = htmlspecialchars($name_four);
        $raisonso = htmlspecialchars($raisonso);
         $adresse = htmlspecialchars($adresse);
         $contact = htmlspecialchars($contact);
             $fax = htmlspecialchars($fax);
           $adresse_email = htmlspecialchars($adresse_email);
           
          $this->matri_four = $matri_four."<br/>";
          $this->name_four = $name_four."<br/>";
          $this->raisonso = $raisonso."<br/>";
          $this->adresse = $adresse."<br/>";
          $this->contact = $contact."<br/>";
          $this->fax = $fax."<br/>";
          $this->adresse_email = $adresse_email."<br/>";
           $this->bdd = bdd();
        }
        
        public function InsertFournisseur() {
            $insertfour =   "INSERT INTO fournisseur(matri_four,name_four,raisonso,adresse,contact,fax, adresse_email)"
                          . "VALUES(:$this->matri_four,:$this->name_four,:$this->raisonso,:$this->adresse,:$this->contact,:$this->fax,:$this->adresse_email)";
                         
            $preparefour = $this->bdd->prepare($insertfour);
            
            $preparefour->execute(array(
                'matri_four' => $this->matri_four,
                'nom_four' => $this->name_four,
                'raisonso' => $this->raisonso,
                'adresse' => $this->adresse,
                'contact' => $this->contact,
                'fax' => $this->fax,
                'adresse_email' => $this->adresse_email));
            
                return 'OK';
        }
}


Et voici le message d'erreur qui s'affiche quand j'exécute le programme: Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp64\www\gesmatinfo\class\fournisseur.class.php on line 52.
Afficher la suite 

2 réponses

Messages postés
13952
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 novembre 2019
319
0
Merci
Bonjour
Je ne peux pas t’aider en PHP et je te déconseille vivement de cliquer sur le lien de Greene3N, CodeS SourceS est malheureusement spammé avec ce type de message et de liens louches.

Par contre, pour aider ceux qui pourraient t’aider merci de rendre ton code lisible.
Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Commenter la réponse de Whismeril
Messages postés
132
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
12 novembre 2019
0
Merci
Salut GETHALEX007

Tu peux nous mettre la structure de la table :
Nom, Type, Null et valeur par defaut

Jorgio

--
Commenter la réponse de cs_eli42