If qui ne fonctionne pas

Résolu/Fermé
James007b4 Messages postés 15 Date d'inscription mercredi 21 juin 2017 Statut Membre Dernière intervention 22 août 2017 - Modifié le 25 juil. 2017 à 15:09
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 26 juil. 2017 à 09:26
Bonjour,

Il y a un IF que ne veux pas fonctionner, je ne comprends pas.
Il fonctionne quand secteur['0'] == 111 mais pas quand secteur['0'] == 222

$mois = $_POST['mois'];
$secteur = $_POST['secteur'];
echo 'secteur 0 : ',$secteur['0'],' - ';
echo 'secteur 1 : ',$secteur['1'],' - ';
echo 'secteur 2 : ',$secteur['2'];

if($secteur['0'] == 111)
{
  $secteur['0'] = 6;
  $secteur['1'] = 1;
  $secteur['2'] = 5;
  $secteur['3'] = 7; 
  $secteur['4'] = 3;
  $secteur['5'] = 4;
  $secteur['6'] = 2;
}

if($secteur['0'] == 222)
{
  $secteur['0'] == 17;
  $secteur['1'] == 9;
  $secteur['2'] == 8;
  $secteur['3'] == 10;
  $secteur['4'] == 12;
  $secteur['5'] == 11;
}



Dans la page précédente :

<tr><td>Chocolat</td><td> </td><td align="center"><input type="checkbox" name="secteur[]" value="111"></td></tr> 
<tr><td>Vanille</td><td> </td><td align="center"><input type="checkbox" name="secteur[]" value="222"></td></tr> 


Je ne vois pas, ou j'ai une erreur :(

faut il utiliser l'autre if ?
je veux dire celui ( <?php if (condition): ?> )

Merci

2 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
26 juil. 2017 à 09:01
Bonjour,

Ton if fonctionne correctement.
Le problème, c'est ce que tu as mis dedans, regarde bien : tu as mis des égal double (vérification d'égalité) et non pas des égal simples (affectation de variable).

Xavier
2
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
26 juil. 2017 à 00:56
Bonjour

je ne vois pas ton code pour récupérer la variable de ton checkbox
Attention pour les checkbox, à chaque ligne il faut lui donner un identifiant différent. Sinon

Pour le formulaire
<tr> 
	<td >   
	<input type="checkbox"  name="checkbox1"value="Chocolat"	/> 
	</td>
	<td>   Chocolat   </td>
</tr>
<tr>
	<td>   
	<input type="checkbox"  name="checkbox2"	value="Vanille"	/> 
	</td>
	<td>  Vanille   </td>
</tr>


Voilà pour récupérer les variables
<?php
if (isset($_REQUEST["checkbox3"])) {
	$checkbox1 = trim($_REQUEST["checkbox1"]);
}//end if
	else {$checkbox1 = "";
}//end else
?>	
<?php
if (isset($_REQUEST["checkbox2"])) {
	$checkbox2 = trim($_REQUEST["checkbox2"]);
}//end if
	else {$checkbox2 = "";
}//end else
?>


Pour le if, je pense qu'il faut faire plutôt ceci
if($secteur['0'] == 111)
{
  $secteur['0'] = 6;
  $secteur['1'] = 1;
  $secteur['2'] = 5;
  $secteur['3'] = 7; 
  $secteur['4'] = 3;
  $secteur['5'] = 4;
  $secteur['6'] = 2;
}
else ($secteur['0'] == 222)
{
  $secteur['0'] == 17;
  $secteur['1'] == 9;
  $secteur['2'] == 8;
  $secteur['3'] == 10;
  $secteur['4'] == 12;
  $secteur['5'] == 11;
}
-1
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié le 26 juil. 2017 à 09:27
Bonjour DelNC,

Il y a quelques erreurs dans ce que tu proposes :
1)
« je ne vois pas ton code pour récupérer la variable de ton checkbox
Attention pour les checkbox, à chaque ligne il faut lui donner un identifiant différent. »
Justement non, l'approche de James007b4 est bonne sur ce point.
En utilisant le même nom pour les différentes checkbox, mais avec les crochets [], Php comprend qu'il s'agit d'un tableau de valeurs, auxquelles on peut accéder en faisant $_POST['secteurs'][0], [1], etc.

2)
La syntaxe
else ($secteur['0'] == 222)
n'est pas valide. Il faut mettre « else if » ou, mieux, « elseif ». Mais là encore, l'approche de James007b4 ne pose aucun problème : en fait tu as remplacé un truc qui marche par un truc qui ne marche pas.

Xavier
0