Bonjour,

J'ai besoin d'utiliser des variables dans un switch, et qu'elles gardent la valeur qu'elles prennent dans une case, dans la case suivante.
Donc je les déclare au-dessus, ensuite elle passe dans une case où une valeur récupérée d'un POST leur est affectée, mais dans la case suivante ça ne fonctionne pas, elle n'ont pas gardé la valeur postée précédemment, sur une autre vue
Ok un peu de code, ce sera plus clair
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
$idVisiteur;
$leMois;
switch ($action) {
case 'validation':
    $lesVisiteurs = $pdo->getTousLesVisiteurs();    
    $visiteurASelectionner = $lesVisiteurs[0];    
    $lesMois = getLesDouzeDerniersMois();
    $moisASelectionner = $lesMois[0];
 
    include 'vues/v_listeVisiteursMois.php';
    break;
case 'validerEtatFrais':
    global $idVisiteur, $leMois;
    $idVisiteur = filter_input(INPUT_POST, 'lstVisiteurs', FILTER_SANITIZE_STRING);
 
    $leMois = filter_input(INPUT_POST, 'lstMois', FILTER_SANITIZE_STRING);
    $lesMois = getLesDouzeDerniersMois();
    $moisASelectionner = $leMois;
    include 'vues/v_listeVisiteursMois.php';
   (...)
    break; 
 
case 'validerFraisForfait' :    
    global $idVisiteur, $leMois;
    echo $idVisiteur;
    echo $leMois;
    (...)
    break;    
}
Et donc, mes echo dans la case 'validerFraisForfait' n'affichent rien du tout (c'est bien du string, donc echo devrait fonctionner)

Pourtant, j'ai l'impression que j'ai bien tout fait comme dans l'exemple 2 de cette page du manuel : https://www.php.net/manual/fr/langua...bles.scope.php

Donc ... pourquoi elles gardent pas leur valeur ?

D'avance merci de votre aide