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

GETHALEX007 Messages postés 4 Date d'inscription mardi 29 octobre 2019 Statut Membre Dernière intervention 8 novembre 2019 - Modifié le 12 nov. 2019 à 19:53
cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023 - 12 nov. 2019 à 19:43
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.

2 réponses

Whismeril Messages postés 19036 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 2 mai 2024 656
12 nov. 2019 à 08:18
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
0
cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023 1
12 nov. 2019 à 19:43
Salut GETHALEX007

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

Jorgio

--
0
Rejoignez-nous