If qui ne fonctionne pas

Résolu
James007b4 Messages postés 15 Statut Membre -  
Reivax962 Messages postés 3742 Statut Membre -
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

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    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
  2. DelNC Messages postés 2360 Statut Membre 2 010
     
    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> &nbsp Chocolat   </td>
    </tr>
    <tr>
    	<td>   
    	<input type="checkbox"  name="checkbox2"	value="Vanille"	/> 
    	</td>
    	<td>&nbsp 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
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      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