8795 sujets

Développement web côté serveur, CMS

Bonsoir à tous, j'ai créer un formulaire, une fois rempli, il m'est ensuite envoyé par mail. Tout fonctionne sauf pour les checkbox, je suis un peu perdue, j'ai regardé un peu partout sur internet j'ai essayé les "[]" dans "name", plusieurs scripts, mais rien à faire.
Si quelqu'un peut m'aider à comprendre ce serai super Smiley smile

Merci
Modifié par h3r3sia (18 Aug 2016 - 14:12)
ok, j'ai pas regardé tout ton code mais pour faire des checkboxes à multiples choix, tu rajoutes les [] (comme tu as fait), et côté PHP pour récupérer les valeurs, tu peux faire ça (pour mobilier par exemple):

foreach($_POST['mobilier'] as $index => $value){
echo 'choix n°'.$index.' est '.$value.PHP_EOL;
}
floreo a écrit :
ok, j'ai pas regardé tout ton code mais pour faire des checkboxes à multiples choix, tu rajoutes les [] (comme tu as fait), et côté PHP pour récupérer les valeurs, tu peux faire ça (pour mobilier par exemple):

foreach($_POST['mobilier'] as $index => $value){
echo 'choix n°'.$index.' est '.$value.PHP_EOL;
}



Merci Smiley smile
Modifié par h3r3sia (18 Aug 2016 - 14:11)
mm tu n'aurais pas rajouté un trim dans le genre : trim($_POST['mobilier']) .... ? C'est normal que ça plante sinon, l'erreur te le dit d'ailleurs. trim() veut une chaîne de caractère en entrée, pas un tableau.
Modifié par floreo (20 Jan 2014 - 22:55)
floreo a écrit :
mm tu n'aurais pas rajouté un trim dans le genre : trim($_POST['mobilier']) .... ? C'est normal que ça plante sinon, l'erreur te le dit d'ailleurs. trim() veut une chaîne de caractère en entrée, pas un tableau.



Non j'ai gardé exactement le script et j'ai rajouté la ligne que tu m'as donnée.

Et ca me donne ceci "Parse error: syntax error, unexpected '=', expecting ')' in /home/u665598249/public_html/traitement.php on line 39 "

Et ligne 39 il ya le code que tu m'as donné
Modifié par h3r3sia (20 Jan 2014 - 23:16)
C'est ça qui plante dans ton code:

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

$valeur est un tableau pour mobilier et option.
floreo a écrit :
C'est ça qui plante dans ton code:

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

$valeur est un tableau pour mobilier et option.



Ah en effet je n'avais pas vu le trim. Je n'y comprends pas grand chose mais je dois remplacer cette ligne par
foreach($_POST['mobilier'] as $index => $value){
echo 'choix n°'.$index.' est '.$value.PHP_EOL;
}

?
Modifié par h3r3sia (18 Aug 2016 - 14:11)
Non le foreach ne remplace pas ta boucle, je te l'ai donné à titre d'exemple, il te permet de parcourir le tableau de mobilier.

Tu peux conserver ton foreach de "nettoyage" en l'adaptant au cas où tu as un tableau (regarde du côté de is_array et des fonctions sur les tableaux, tu trouveras ton bonheur je pense). Tu auras du coup une variable $mobilier qui sera un tableau des mobiliers sélectionnés. Tu pourras par la suite faire un truc du genre pour afficher ce que la personne a choisi:

echo 'Vous avez choisi le(s) mobilier(s): '.implode(',', $mobilier).'.';


Tu vois mieux le truc?
Modifié par floreo (21 Jan 2014 - 19:34)