Bon je pensais avoir résolu mon problème avec les checkbox mais que néni.

Quand je valide le formulaire, les checkbox cochés restent cochés mais le champ de la table.

dans l'ordre:
mon fichier fonctions.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
//vérifie si un type d'action est sélectionné (page 2)
function est_selectionne_action($option) {
    if (!isset($_POST['action'])) {
            return FALSE;
    }
    for ($i = 0, $c = count($_POST['action']); $i < $c; $i++) {
        if ($_POST['action'][$i] == $option) {
            return TRUE;
        }
    }
    return FALSE;
}
mon fichier dossier_candidature.php
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
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
 
$action = "";
$public = "";
//************* contrôle des checkbox quand le candidat a déjà complété un dossier ******************
if (isset($_REQUEST['id_etablist'])){
	if (isset($_POST['action'])){
    		for ($i = 0, $c = count($_POST['action']); $i < $c; $i++) {
        		$action .= "" . $_POST['action'][$i] . ",";
    		}
		$action= substr($action,0,strlen($action)-1);
	}
	else {
		$action="";
	}
}
else {
	if (isset($_POST['action'])){
		$message25 ="ok";
	}
	else {
		$message25="Page 2, merci de cocher 1 type d'action minimum.";
	}
}
//test si le candidat a déjà rédiger un dossier
if (isset($_REQUEST['id_etablist'])){
	$id_etablist = $_REQUEST['id_etablist'];
             //récupération des valeurs dans les tables
	$sql = mysql_query("SELECT * FROM etablissement WHERE id_etablist = $id_etablist");
	if (mysql_num_rows($sql) > 0){
		$res = mysql_fetch_array($sql);
                   // ici traitement des tables
 
	}	
	include 'formulaire_candidature.php';
}
else {
	//enregister données
	if (($message1 == "ok") && ($messagea == "ok") && ($messageb == "ok") && ($messagec == "ok")&& ($messaged == "ok") && ($messagee == "ok")){
		enregistrer_etablist($etablist, $etablist_nom, $etablist_adresse, $etablist_cp, $etablist_ville, $etablist_tel, $etablist_fax, $etablist_email, $etablist_effectif);
		$id_etablist = mysql_insert_id();
		enregistrer_action($id_etablist, $date_depot, $intitule, $mots_cles, $resume, $date_debut_saisi, $date_fin_saisi, $lieu, $action, $public, $nombre, $choix, $choix_personne, $choix_autre, $concertation, $concert_partenaires, $concert_forme, $evaluation, $eval_forme, $eval_precis, $detail_action);
		$id_action = mysql_insert_id();
		echo "<p align='center'><font color='navy'><b> Le dossier est enregistré.</b></font></p>";
	}
	else if (isset($_POST['valider'])) {
              // ici affichage des messages d'erreur
	}
	include 'formulaire_candidature.php';
}
le fichier formulaire_candidat.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<td>
	<input type="checkbox" name="action[]" value="ponctuelle" <?php if(est_selectionne_action("ponctuelle")) { echo 'checked'; } else if(!empty($action)){ if(in_array("ponctuelle",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- ponctuelle<br />
	<input type="checkbox" name="action[]" value="programme" <?php if(est_selectionne_action("programme")) { echo 'checked'; } else if(!empty($action)){ if(in_array("programme",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- inscrite dans un programme<br />
	<input type="checkbox" name="action[]" value="interactive" <?php if(est_selectionne_action("interactive")) { echo 'checked'; } else if(!empty($action)){ if(in_array("interactive",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- interactive<br />						
	<input type="checkbox" name="action[]" value="poursuite" <?php if(est_selectionne_action("poursuite")) { echo 'checked'; } else if(!empty($_action)){ if(in_array("poursuite",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- appelée à se poursuivre<br />
	<input type="checkbox" name="action[]" value="reproductible" <?php if(est_selectionne_action("reproductible")) { echo 'checked'; } else if(!empty($action)){ if(in_array( "reproductible",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- reproductible<br />
	<input type="checkbox" name="action[]" value="terminee" <?php if(est_selectionne_action("terminee")) { echo 'checked'; } else if(!empty($action)){ if(in_array("terminee",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- terminée<br />
</td>
Si je modifie manuellement la champ de la table et que j'appelle l'enregistrement, les cases sont bien cochées.

Apparament ça à l'air d'être mon dernier problème pour cette partie.
Merci d'avance