Salutatous,

j'ai un 1er fichier comportant un formulaire qui permet d'envoyer dans une bdd des choix à partir de case à cocher (checkbox).

j'ai un 2e fichier qui permet d'afficher ces choix.

jusque-là tout se passe bien

j'ai ensuite un 3e fichier qui doit me permettre de modifier ces choix... et c'est là où je bloque car je n'arrive pas à ré-afficher ces choix dans les checkbox

code de mon 1er fichier qui permet de cocher les checkbox :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php 
	require('traitement.php'); 
?>
 
... / ...
 
<strong>PERMIS</strong><br />
      <input type="checkbox" value="Voiture" name="permis[]" <?php if (isset($_POST['permis']) && in_array('Voiture', $_POST['permis'])) echo 'checked="checked"'; ?>  />
      Voiture
	&nbsp;&nbsp;&nbsp;
    <input type="checkbox" value="Bâteau" name="permis[]" <?php if (isset($_POST['permis']) && in_array('Bâteau', $_POST['permis'])) echo 'checked="checked"'; ?>  />
    B&acirc;teau
	&nbsp;&nbsp;&nbsp;
    <input type="checkbox" value="Poids lourd" name="permis[]" <?php if (isset($_POST['permis']) && in_array('Poids lourd', $_POST['permis'])) echo 'checked="checked"'; ?>  />
    Poids lourd
	&nbsp;&nbsp;&nbsp;
    <input type="checkbox" value="Plongée" name="permis[]" <?php if (isset($_POST['permis']) && in_array('Plongée', $_POST['permis'])) echo 'checked="checked"'; ?>  />
code de mon fichier "traitement.php" qui permet l'enregistrement en base :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// gestion message erreur si aucune case n'est cochée :
 
if (!is_array($_POST['permis'])) {
	$permis_liste = '';
 
} else {
	$permis_liste = implode(', ', $_POST['permis']);
}
 
// requete SQL
 
$sql = 'INSERT INTO ma_table VALUES (
	"'.$permis_liste.'"
)';
code de mon 3e fichier qui doit permettre la modification :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
$requete_sql = "SELECT permis FROM ma_table WHERE login='" . $_SESSION['login'] . "'";
 
... / ...
 
while ( list ( $permis ) = mysql_fetch_array($requete_sql_bis)) {
 
?>
 
... / ...
 
	<input type="checkbox" value="Voiture" name="permis[]" <?php if (isset($permis) && in_array('Voiture', $permis)) echo "checked"; ?>  />
      Voiture
	&nbsp;&nbsp;&nbsp;
    <input type="checkbox" value="Bâteau" name="permis[]" <?php if (isset($permis) && in_array('Bâteau', $permis)) echo "checked"; ?>  />
    B&acirc;teau
	&nbsp;&nbsp;&nbsp;
    <input type="checkbox" value="Poids lourd" name="permis[]" <?php if (isset($permis) && in_array('Poids lourd', $permis)) echo "checked"; ?>  />
    Poids lourd
	&nbsp;&nbsp;&nbsp;
    <input type="checkbox" value="Plongée" name="permis[]" <?php if (isset($permis) && in_array('Plongée', $permis)) echo "checked"; ?>  />
 
... / ...
si je fais un echo sur $permis, ça m'affiche bien mes choix comme ceci :
Voiture, Bâteau, Plongée

par contre ces choix ne se ré-affiche pas dans les cases à cocher correspondantes et j'ai le message d'erreur suivant :
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /blablabla/blablabla.php on line ...

j'ai donc placer ce code juste avant mon formulaire de modification :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
$permis = array();
 
if (is_array($permis)) {
	var_dump($permis);
} else {
	echo '<br /><br />ce n\'est pas un tableau<br /><br />';
}
je n'ai plus le message d'erreur
et ça m'affiche ceci :
array(0) { }

par contre mes checkbox ne sont toujours pas cocher de mes choix : Voiture, Bâteau, Plongée

une aide serait la bienvenue, merci d'avance...