Lors de la création de mon annonce j'arrive pas à stocker la valeur exacte de ma case à cocher.
Ma méthode pour stocker les données dans la base de données et la formulaire HTML partie case à cocher.

  public function createAnnonce(Annonces $a) {
           if (!isset($error)) {
                    // On créer les variables par défaut (pas besoin si tu a déjà mis 0 par defaut dans ta bdd)
                    $categories = array('M' => 0, 'V' => 0);

                    // On attribue la variable correspondante
                    foreach($_POST['categorie'] as $categorie => $value){
                      if($value == 1){
                        $categories[$categorie] = 1;
                      }
                    }
            $req = 'INSERT INTO ANNONCE (categorie, titre, description, date_annonce, couverture, prix, reduction, adresse, code_p, id_utilisateur) VALUES (:categorie, :titre, :description, :date_annonce, :couverture, :prix, :reduction, :adresse, :code_p, :id_utilisateur)';
            $stmt = $this->pdo->prepare($req);
            $data = array(
              ":categorie" => $a->getCategorie(),
              ":titre" => $a->getTitre(),
              ":description" =>$a->getDescription(),
              ":date_annonce" =>$a->getDateAnnonce(),
              ":couverture" => $a->getCouverture(),
              ":prix" => $a->getPrix(),
              ":reduction" => $a->getReduction(),
              ":adresse" => $a->getAdresse(),
              ":code_p" => $a->getCodeP(),
              ":id_utilisateur" => $a->getIdUtilisateur(),
            );
            $stmt->execute($data);
            //echo "ICI";
            //var_dump($stmt);
            return $stmt;
        }

      }

      <p>Veuillez choisir la categorie de votre Annonce</p>
                        <div>
                          <input type="radio" id="categorie1" name="categorie[]" value="M" checked>
                          <label for="categorie1">Mode</label>

                          <input type="radio"  id="categorie2" name="categorie[]" value="V">
                          <label for="categorie2">Véhicules</label>
                        </div>

Ce que je veux

Je souhaite stocker la valeur exacte de la case que je choisi lors de la création de l'annonce si je coche par exemple Mode que j'ai dans l'annonce catégorie Mode

Ce que j'obtiens

J'ai comme erreur si je coche Mode comme catégorie lors de la création de l'annonce une fois l'annonce créer j'ai catégorie Array au-lieu de catégorie : Mode .
Merci d'avance pour vos retours.

5 réponses


Carouge10
Réponse acceptée

enlève les crochets aprés "categorie" dans le name de ton input et tu auras une chaine

Vict8or
Auteur
Réponse acceptée

Ah oui merci beaucoup ça marche.

Vict8or
Auteur
Réponse acceptée

Comment mettre sujet resolus s'il vous plait c ma premiere fois?

Carouge10
Réponse acceptée

passe ta souris sur le message qui t'a aidé et tu devrais voir apparaitre "ce message m'a aidé" ou un truc du genre

Carouge10
Réponse acceptée

un sujet = un problème

merci de créer un nouveau sujet en insérant bien les codes comme tu l'as fait