Recuperation d'une checkbox

Résolu
maxoudu328 Messages postés 52 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 mai 2007 - 28 août 2005 à 10:41
maxoudu328 Messages postés 52 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 mai 2007 - 29 août 2005 à 20:38
bonjour,

Je souhaite récupere les information de plusieur checkbox d'une formulaire par PHP, voici comment je mi prend :

// les checkbox
Anglais
Italien

Allemand
Hongrois


// le code php

<?php

$pseudo = "$_POST[pseudo]";
$mail = "$_POST[mail]";
$motivation = "$_POST[motivation]";
$langues = "$_POST[langues]";


echo "$pseudo</$>, Votre candidature a bien etait reçu vous recevrez un reponce par mail et dans votre espace membres dans 24H.


Résumer :


$motivation



langues que vous maitriser :



$langues";
?>

Donc voila comme cité dans un post j'ai utiliser les tableau pour les nom des checkbox mais lorsque je les récupere par le code php ca m'affiche "Array"

En esperant que vous pourez m'aider, cordialement

15 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 août 2005 à 12:10
Tu as oublié la concaténation :
$resultat = $langues[$i] . "
";
va réaffecter le $langues courant à $résultat en effaçant la valeur précédente.
donc, comme te l'a écrit Tuc :
$resultat .= $langues[$i] . "
";

Par contre histoire de ne pas avoir un warning, tu vas devoir définir $resultat en tant que chaine vide, avant ta boucle :
$resultat = '';

Enfin, Tuc a fait une petite erreur (tss tss, Tuc...)...héhé, mais c'est de l'inattention : on ne met JAMAIS un count () dans la condition d'une boucle, sinon le count () est réévalué à chaque itération. Donc pour résumé :

$nbr = count ($_POST['langues']);
$resultat = '';
for ($i = 0; $i < $nbr; $i ++) {
$resultat .= $_POST['langues'][$i].'
';
}
echo $resultat;
3
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
29 août 2005 à 19:52
Re,



print_r($_POST['langues']); // Euh ... regarde en rouge

print_r($langues); // Ou initialise tu $langues ?

print_r('$langues'); // C'est normal ... '...' = texte brute ^^
<hr>Si ma reponse te convient, merci de l'accepter !
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 août 2005 à 11:09
Hello,

tu stockes bien tes checkboxes dans un tableau, pas de problème. Par contre, on ne peut pas afficher le contenu d'un tableau avec un simple echo $tableau;
Il faut parcourir ton tableau et en afficher chaque enregistrement.
Un exemple parmi tant d'autres :
foreach ($langues as $valeur) {
echo $valeur, '
';
}
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
28 août 2005 à 11:13
salut,

tu met tes valeurs dans un tableau donc il faut que tu les récupére de la meme maniére qu'un tableau

comme ceci :

for ($i = 0; $i < count($langues); $i++)
{
$resultat .= $langues[$i] . "
";
}


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maxoudu328 Messages postés 52 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 mai 2007
28 août 2005 à 11:55
merci de vos reponce, j'ai donc utiliser ce code :

for ($i = 0; $i < count($langues); $i++)
{
$resultat = $langues[$i] . "
";

echo "$resultat";
}

en definissant la variable $langues = $_POST[langues]

mais ca ne m'affiche qu'un "A".
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 août 2005 à 12:11
Ceci dit, avec ton code, ou tu affiches $resultat DANS ta boucle, si tu n'obtiens que A, c'est que ton tableau est mal rempli.
Tu devrais mettre ton formulaire plus en détail ici. Et faire attention aux contrôles à la soumission du formulaire.
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
28 août 2005 à 12:12
il faut mettre $langues = $_POST['langues'];

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
28 août 2005 à 12:13
caramba, encore une fois trop tard

sénior malalam est trop rapide aujourd'hui





Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 août 2005 à 12:18
Ben ma copine dort...lol. Alors je tue le temps :-)
Ca va toi ? Ta recherche de taf ? Ton nouveau pc ?
Moi je bosse à Nice... :-( trop loin d'Aix, mais très bien payé lol. Je continue quand meme à chercher à Aix.
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
28 août 2005 à 12:33
le taf c'est toujours pareil, je cherche je cherche

mon nouveau pc est parfait par contre



c'est bien pour toi d'être revenu en france déjà... et d'être bien payer aussi lol

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
maxoudu328 Messages postés 52 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 mai 2007
28 août 2005 à 12:41
wesh un niçois comme ca on est deux :) sinon voici mon fomulaire entierement :

<form method=post target=_blank action="./traduction.php" >
Votre pseudo :

,
----
Votre mail :

,
----
Vos motivations :

<textarea name=motivation cols=20 rows=10></textarea>,
----
Quel langues pouvez vous traduire courament :

Anglais
Italien

Allemand
Hongrois ,
----
<center></center>

</form>
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
29 août 2005 à 00:42
Ptite info en passant,: tu peu afficher ton tableau grace a la commande print_r($langues) qui devrait tafficher un truc du genre

Array[ [0] => "Anglais", [1] => "Francais", ... ] juste pour verifier si ton tableau est correct
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
29 août 2005 à 01:29
lu,

Et si tu comprend pas grand chose au charabiat qu'il te donne (si tu as
beaucoup dans l'array) tulise la balise avant le
print_r(array());

<hr>Si ma reponse te convient, merci de l'accepter !
0
maxoudu328 Messages postés 52 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 mai 2007
29 août 2005 à 19:18
alor ca marche toujours pas ... je doit avoir la gigne, j'ai essayer la fonction de Guillemouze en mettant print_r($_POST[langues]); sa m'affiche ca :

Notice: Use of undefined constant langues - assumed 'langues' in c:\easyphp1-7\www\et\traduction.php on line 16
Array ( [0] => anglais )

----------------------------
print_r($langues); m'affiche :

array
----------------------------

----------------------------
print_r('$langues'); m'affiche :

$langues
----------------------------

enfin bon je croyer que poster ce topic dans le forum AU SECOUR etait un peu abusé mais la AU SECOURRRRRRRRRRREEEEEE !!!!!!!!!!

Merci d'avance
0
maxoudu328 Messages postés 52 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 mai 2007
29 août 2005 à 20:38
a merci grace aux deux reponce que j'ai accepte j'ai reussi a afficher le resultat de mes checkbox et j'en est appris un peu plus sur le php.

Merci encor et a la prochaine (j'espere pas devoir revenirmais bon ;) )
0
Rejoignez-nous