[PHP] Problème variable..
Résolu
digsaw_-
Messages postés
489
Date d'inscription
Statut
Membre
Dernière intervention
-
digsaw_- Messages postés 489 Date d'inscription Statut Membre Dernière intervention -
digsaw_- Messages postés 489 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voici mon code :
Mon problème est que les variables $massesalar_1, $massesalar_2 [..] $massesalar_12, sont marquées comme indéfinies.
Merci d'avance
voici mon code :
for ($l=1;$l<13;$l++) { if (isset ($_REQUEST["MOD".$l]) && isset ($_REQUEST["MOI_".$l]) && isset ($_REQUEST["MOS_".$l])) { ${'MOD_'.$l} = $_REQUEST["MOD".$l]; ${'MOI_'.$l} = $_REQUEST["MOI".$l]; ${'MOS_'.$l} = $_REQUEST["MOS".$l]; ${'massesalar_'.$l} = ${'MOD_'.$l} + ${'MOI_'.$l} + ${'MOS_'.$l}; } } for ($l=1;$l<13;$l++) { echo "<input name 'massesalar_".$l."' value'".${'massesalar_'.$l}."'> }
Mon problème est que les variables $massesalar_1, $massesalar_2 [..] $massesalar_12, sont marquées comme indéfinies.
Merci d'avance
A voir également:
- [PHP] Problème variable..
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Vba range avec variable ✓ - Forum VB / VBA
- Range avec une Variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
11 réponses
Bonjour
C'est certainement qu'une au moins de tes variables $_REQUEST["MODx"], $_REQUEST["MOSx"] ou $_REQUEST["MOIx"] n'est pas définie
Fais un print_r ($_REQUEST) avant ton for pour vérifier
C'est certainement qu'une au moins de tes variables $_REQUEST["MODx"], $_REQUEST["MOSx"] ou $_REQUEST["MOIx"] n'est pas définie
Fais un print_r ($_REQUEST) avant ton for pour vérifier
Merci le père.. Je ne pense jamais à le vérifier comme ceci...
Cela marque Array ()
c'est tout.. donc je suppose que c'est vide...
Le truc c'est que avant je faisai ce genre de calculs dans un if (isset($_REQUEST['validation'])) pour que les calculs se fassent après le clic du bouton validation.
J'ai voulu changer et j'ai sorti ce calcul de ce IF, mais maintenant je n'arrive plus, comme ici, à prendre les valeurs de mes INPUTS comme $_REQUEST["MOSx"] etc... et je ne vois pas pourquoi ...
Cela marque Array ()
c'est tout.. donc je suppose que c'est vide...
Le truc c'est que avant je faisai ce genre de calculs dans un if (isset($_REQUEST['validation'])) pour que les calculs se fassent après le clic du bouton validation.
J'ai voulu changer et j'ai sorti ce calcul de ce IF, mais maintenant je n'arrive plus, comme ici, à prendre les valeurs de mes INPUTS comme $_REQUEST["MOSx"] etc... et je ne vois pas pourquoi ...
Effectivement, si tu as simplement Array(), c'est que $_REQUEST est vide. Ce qui veut dire que ton formulaire n'a pas été validé.
Normalement, ton if (isset($_REQUEST['validation'])) est correct. Peux-tu montrer le code? Il n'est peut-être pas au bon endroit.
Normalement, ton if (isset($_REQUEST['validation'])) est correct. Peux-tu montrer le code? Il n'est peut-être pas au bon endroit.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben je ne monterais que un tableau en mémoire qui contien des <tr> <td> etc... le if (isset($_REQUEST['validation'])) je l'ai enlevé pour que le calcul se fasse directement.. Dans mon code il n'y a juste qu'une requête SQL que je peux met qui récupère les valeurs de $_REQUEST["MOSx"]
$query99="select * from rh WHERE type='".$type_ligne[$l]."'"; $res99 = mysql_query($query99) $row99=mysql_fetch_array($res99); for ($m=1;$m<=12;$m++) { echo "<td><INPUT name='".$MOD_".$m."' value='".$row99["mois_".$m]."' ></td>\n"; } Mais les valeurs de $MODx $MOIx et $MOSx sont bien récupérées dans les INPUTS...
Le problème n'est pas au niveau de cette partie du code. Tu récupères correctement les valeurs qui sont déjà dans la base de données, c'est très bien mais ce n'est pas la question.
Le problème c'est qu'il ne faut absolument pas ôter le if (isset($_REQUEST['validation'])), sinon tu traites le formulaire avant qu'il ne soit saisi. Mais ça dépend de comment est fait ton code, c'est pour ça que je te demande où tu avais mis ce if
Le problème c'est qu'il ne faut absolument pas ôter le if (isset($_REQUEST['validation'])), sinon tu traites le formulaire avant qu'il ne soit saisi. Mais ça dépend de comment est fait ton code, c'est pour ça que je te demande où tu avais mis ce if
ha pardon j'avais mal compris ! je l'ai mis comme ceci :
Et je vien de m'appercevoir que lorsque je validait la page j'arrivais a récupérer les résultats dans le $_REQUEST...
Merci pour ton aide
if (isset($_REQUEST['validation'])) { Ma requete SQL } for ($l=1;$l<13;$l++) { if (isset ($_REQUEST["MOD".$l]) && isset ($_REQUEST["MOI_".$l]) && isset ($_REQUEST["MOS_".$l])) { ${'MOD_'.$l} = $_REQUEST["MOD".$l]; ${'MOI_'.$l} = $_REQUEST["MOI".$l]; ${'MOS_'.$l} = $_REQUEST["MOS".$l]; ${'massesalar_'.$l} = ${'MOD_'.$l} + ${'MOI_'.$l} + ${'MOS_'.$l}; } } for ($l=1;$l<13;$l++) { echo "<input name 'massesalar_".$l."' value'".${'massesalar_'.$l}."'> }
Et je vien de m'appercevoir que lorsque je validait la page j'arrivais a récupérer les résultats dans le $_REQUEST...
Merci pour ton aide
Au début de ton code :
Comme ça tes variables seront initialisées à 0 si le formulaire n'est pas saisi
for ($l=1;$l<13;$l++) ${'massesalar_'.$l}=0;
Comme ça tes variables seront initialisées à 0 si le formulaire n'est pas saisi
D'accord mais en fait.. le formulaire n'étant pas remplis la première fois sa marche c'est ok.. mais le truc c'est qu'il récupère donc les valeur dans la BDD et n'a pas besoin de le remplir à nouve
--au.. ce qu ej'aimerais c'est qu'il charge les valeur dans les inputs à partir de la requete sql, et qu'il fasse les calculs.. est ce possible ?
Digsaw
'Avoir une section fumer dans un restaurant, c'est comme avoir une section pisseur dans une piscine !'
--au.. ce qu ej'aimerais c'est qu'il charge les valeur dans les inputs à partir de la requete sql, et qu'il fasse les calculs.. est ce possible ?
Digsaw
'Avoir une section fumer dans un restaurant, c'est comme avoir une section pisseur dans une piscine !'
Bien sûr. Il suffit d'ajouter les 3 valeurs au moment où tu les récupères dans la base :
avec xxx et yyy correspondant aux champs où tu retrouves les valeurs de MOI ert MOS
$row99=mysql_fetch_array($res99); for ($m=1;$m<=12;$m++) { echo "<td><INPUT name='".$MOD_".$m."' value='".$row99["mois_".$m]."' ></td>\n"; ${'massesalar_'.$l}=$row99["mois_".$m]+$row99["xxx".$m] + $row99["yyy".$m] }
avec xxx et yyy correspondant aux champs où tu retrouves les valeurs de MOI ert MOS
Oui les 3 variables qui s'ajoutent pour $massesalar_1 à 12 sont inisialisées avec le $_RESQUEST