Stocker les valeurs des checkboxs d'un formulaire dans une base de données

Fermé
KDJB - 20 mars 2021 à 18:38
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 20 mars 2021 à 23:28
Bonjour, je n'arrive pas à stocker les valeurs de mes ceckboxs dans ma base de données voilà le code besoin d'aide svp !!!
<?php
	#code de truc. php
	 $pdo= new PDO('mysql:dbname=truc;host=localhost','root','');
   $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   if (isset($_POST['valider'])) {
   	$NOM=$_POST['nom'];
   	$APPAREIL=$_POST['appareil'];
   	$req=$pdo->prepare("INSERT INTO nouveau_truc VALUES (?)");
   	$req->execute([$NOM,array(implode("/", $APPAREIL))]);
   }
 ?>
 <!DOCTYPE html>
<html>
<head>
	<title>form</title>
</head>
<body>
	<form method="POST" action="truc.php">
	<input type="text" name="nom" placeholder="entrer votre nom">
	<input type="checkbox" name="appareil[]" value="portable">portable
	<input type="checkbox" name="appareil[]" value="tablette">tablette
	<input type="checkbox" name="appareil[]" value="laptop">laptop
	<input type="checkbox" name="appareil[]" value="desktop">desktop
	<input type="submit" name="valider" value="valider">
</body>
</html>




Configuration: Windows / Firefox 86.0

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
20 mars 2021 à 19:57
Bonjour,
Tu n'as mis qu'un seul "?" dans ta requête.... et tu essayes d'insérer deux valeurs .. le nom et les checkboxes..
De plus, tu as mis un "array" .. sauf que tu ne peux insérer que des STRING


Pour pouvoir trouver les soucis par toi même, à l'avenir, applique ce qui est indiqué ici
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
(Ne pas oublier d'activier l'affichage des erreurs php ET de placer chaque requête dans un bloc TRY/CATCH ( en plus du try/carch de la connexion bien entendu ! )

0
Comment je peux inserer alors les array les string ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
20 mars 2021 à 23:28
$req->execute([$NOM,array(implode("/", $APPAREIL))]);

Dans cette ligne de code, il suffit que tu enlèves le mot array
0