Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2007, 08h23   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 4
Points : 1
Points : 1
Par défaut Problème récupération checkboxes avec php

Bonjour,

Je n'arrive pas à récuérer des valeurs de checkboxes.
- La syntaxe des checkboxes est correcte (j'ai bien vérifié sur la FAQ et le forum)
- C'est au niveau de la récupération que ça coince. Faut-il faire une boucle ?
- 2 ème problème: le script ne prend que le cas par défaut.

Le code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//---------------------Les checkboxes-------------------------
<!-- Filtrage groupements (ministeres,agences, reseaux...) --> 
 
<form name="filtrage" method="POST" action="recherche-entreprises-pays.php">
<input TYPE="checkbox" NAME="choix[]" VALUE="9"><? echo TXT_OI;?></input><br />
<input TYPE="checkbox" NAME="choix[]"VALUE="10"><? echo TXT_ONG;?></input><br />
<input TYPE="checkbox" NAME="choix[]"VALUE="1"><? echo TXT_MINISTERE;?></input><br />
<input TYPE="checkbox" NAME="choix[]"VALUE="2"><? echo TXT_DIRECTION_ENVIR;?></input><br />
<input type="submit" value="OK">
<input type="reset" value="Effacer">
</form>
 
<!-- -----------------------Fin----------------------------------- --> 
 
<!-- Filtrage autres  (particuliers, independants...) --> 
 
<form name="filtrage2" method="POST" action="recherche-entreprises-pays.php">
<input NAME="choix2" TYPE="radio" VALUE="12"><? echo TXT_PARTICULIER;?></input><br />
<input NAME="choix2" TYPE="radio" VALUE="13"><? echo TXT_INDEPENDANT;?></input><br />
<input type="submit" name="filtrage2" value="OK">
<input type="reset" value="Effacer">
</form>
 
<?
//---------------choix 1-------------------------
if (isset($choix))
{
$edit= 'Groupements';
$choix = $_POST['choix'];
$select = 'fr_groupmt_profil.id,fr_groupmt_profil.pays';
$select_from = 'fr_groupmt_profil';
$where = 'fr_groupmt_profil.pays';
}
//-------------choix 2--------------------------- 
else if (isset($_POST ['$filtrage2']))
{
$edit= 'autres';
$filter= $_POST["filtrage2"];
$select = 'fr_particulier_profil.id,fr_particulier_profil.pays';
$select_from = 'fr_particulier_profil';
$where = 'fr_particulier_profil.pays';
}
//-----------par défaut---------------------------
else
{
$edit= 'Entreprises';
$filter= 'entrepr';
$select = 'fr_entrepr_profil.id,fr_entrepr_profil.pays';
$select_from = 'fr_entrepr_profil';
$where = 'fr_entrepr_profil.pays';
}
 
 
//----------------------------Sélection des affichages-----------------------------
 
//Allemagne
 
$sql="SELECT $select FROM $select_from WHERE $where = 'de'";
$result1 = mysql_query($sql,$link) or die ('Erreur : '.mysql_error() );
$pays1=mysql_numrows($result1); 
 
?>
etc etc...
sacrelolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 12h01   #2
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Bonjour,

choix[] est un tableau.
Donc sur le traitement du formulaire, il faut que tu comptes le nombre d'objets dans ton tableau et que tu les résupères :

Code :
1
2
3
4
5
 
$nb = count($_POST['choix']);
for($i = 0, $i < $nb; $i++){
$choix_coche[$i] = $_POST['choix'][$i];
}
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h56.


 
 
 
 
Partenaires

Hébergement Web