Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3877 connectés 

 


Dernière réponse
Sujet : (PHP) j'arrive pas a afficher des variables crees dans une boucle !
Lord II Je pense que tu aurais du mettre tes variables sous cette forme
 
 
isset($("dn_jour_e" .$i) )

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Lord II Je pense que tu aurais du mettre tes variables sous cette forme
 
 
isset($("dn_jour_e" .$i) )
Batman-Fr :hello:
 
mea culpa (enfin pas vraiment) : ton code marche parfaitement :)
 
j'etais passe par un copie-colle et le fait que je sois sous Mac n'a pas du arranger les choses.
Lorsque tu m'as dit que ca passait bien chez toi, j'ai tilte :D du coup, je l'ai retape a la main et ca passe plutot ... hum .... fine :D
 
merci bcp de votre aide !!
 
par contre, connaissez vous la raison pour laquelle mon code ne passait pas ? parce qu'il me semble qu'en debuggant sur le script qui envoie les infos, ma boucle passait ...
 
m'enfin, ca marche, mais j'aimerais qd meme comprendre, histoire de progresser (on me dit tjrs que je pose des questions de debutant :lol: )
Lord II Quelles version de php as tu??
 
Sur quel serveur est tu ??
Batman-Fr :(
 
toujours pareil : erreur au niveau de la premiere accolade :cry:
Lord II Chez moi ca marche mais j'ai fait deux modifs sur les lignes de test
 
Je te colle le bout que j'ai fait avec les test
 

Code :
  1. <?
  2. $nb_enf=10;
  3. $dn_jour_e1=10;
  4. $dn_jour_e2=10;
  5. $dn_jour_e3=10;
  6. $dn_mois_e1=05;
  7. $dn_mois_e2=05;
  8. $dn_mois_e3=05;
  9. $dn_annee_e1=05;
  10. $dn_annee_e2=05;
  11. $dn_annee_e3=05;
  12. ?>
  13. <BODY BGCOLOR="#FFFFFF">
  14. <?
  15. for ($i = 1; $i <= $nb_enf; $i++) 
  16. {
  17. $var="dn_jour_e" .$i; 
  18. if( isset( $$var ) ) echo $$var ."/ "; 
  19. $var="dn_mois_e" .$i;
  20. if( isset( $$var ) ) echo $$var ."/ "; 
  21. $var="dn_annee_e" .$i;
  22. if( isset( $$var ) ) echo $$var ."<br>"; 
  23. }
  24. ?>

Batman-Fr bon, je vais essayer de vous donner + de details :
 
voici les erreurs qu'il m'affiche lorsque je fais de simples echo sans le test avec isset avant :
 
(nb_enf=3 dans cet exemple et les dates de naissance sont 1/1/1 2/2/2 et 3/3/3)
 
Warning: Undefined variable: dn_jour_e in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 21
1 /
Warning: Undefined variable: dn_mois_e in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 22
1 /
Warning: Undefined variable: dn_annee_e in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 23
1
Warning: Undefined variable: dn_jour_e in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 21
2 /
Warning: Undefined variable: dn_mois_e in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 22
2 /
Warning: Undefined variable: dn_annee_e in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 23
2
Warning: Undefined variable: dn_jour_e in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 21
3 /
Warning: Undefined variable: dn_mois_e in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 22
3 /
Warning: Undefined variable: dn_annee_e in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 23
3
 
il me dit que la variable n'est pas definie mais arrive qd meme a trouver sa valeur :??: :cry:

 

[edit]--Message édité par Batman-Fr--[/edit]

Batman-Fr :hello:
 
merci de passer par mon topic :)
 
duch : j'utilise des simples cotes au lieu des doubles car je passe par un echo, mais bon, je suppose que tu devais parler d'autres chose car ca ma parait logique :(
 
lord II :  ton script m'affiche une erreur partielle sur la ligne de ta premiere accolade (je suppose donc que c'est a la ligne suivante que se situe le prob :??: mais je vois pas trop en fait :(
Lord II essaie comme ca (c'est un test) :
 
for ($i = 1; $i <= $nb_enf; $i++)  
{
$var="dn_jour_e" .$i;  
if( isset( $$var ) ) echo "$$var / ";  
$var="dn_mois_e" .$i;
if( isset( $$var ) ) echo "$$var / ";  
$var="dn_annee_e" .$i;
if( isset( $$var ) ) echo "$$var <br>";  
}  
 
 
PS : La fonction echo n'est recommandée que pour du debogage, utilise pltuôt la fonction print
duch T'es sûr qu'y a pas une couille là : 'dn_jour_e$i' ?
ou là "$dn_jour_e$i / ";  
 
j'ai l'impression que tu mélanges un peu les variables.
Batman-Fr :hello:
 
voila, je cree des variables dans une boucle de cette facon :
 
for ($i = 1; $i <= $nb_enf; $i++)  
 {
 echo"enfant $i : ";
 echo"<input type='text' name='dn_jour_e$i' size='3' maxlength='2'> / ";  
 echo"<input type='text' name='dn_mois_e$i' size='3' maxlength='2'> / ";  
 echo"<input type='text' name='dn_annee_e$i' size='6' maxlength='4'> <br>";
 }
 
ce formulaire envoie les infos a un autre et je voudrais les afficher pour confirmation. J'ai donc tape ce code mais il ne fonctionne pas :
 
for ($i = 1; $i <= $nb_enf; $i++)  
 {
 if( isset( $dn_jour_e$i ) ) echo "$dn_jour_e$i / ";
 if( isset( $dn_mois_e$i ) ) echo "$dn_mois_e$i / ";
 if( isset( $dn_annee_e$i ) ) echo "$dn_annee_e$i <br>";
 }
 
avec ce code, le navigateur me sort cette erreur :
 
Parse error: parse error, expecting `')'' in D:\serveurs-web\mgel\_mvs2\adhesion\validate.php on line 22
(la ligne 22 correspond au premier "if" du code si dessus)
 
alors que si je tape ce code, tout marche parfaitement :
 
for ($i = 1; $i <= $nb_enf; $i++)  
 {
 if( isset( $dn_jour_e1 ) ) echo "$dn_jour_e1 / ";
 if( isset( $dn_mois_e1) ) echo "$dn_mois_e1 / ";
 if( isset( $dn_annee_e1) ) echo "$dn_annee_e1 <br>";
 }
 
donc, c'est le meme code sauf que j'ai remplace le $i par 1
 
 
PS : j'utilise la condition isset car si je passe directement par un echo, le navigateur m'affiche des warnings avant de m'afficher la date :(
 
voila, j'espere avoir reussi a explique mon prob, j'suis vraiment perdu sur ce coup :sweat:
 
merci d'avance :hello:
 
++

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)