Switch - Portée des variables - global
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 :calim2:
Ok un peu de code, ce sera plus clair :mrgreen:
Code:
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 :)