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

  FORUM HardWare.fr
  Programmation
  PHP

  Pb pour récupérer une valeur suite a un POST

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb pour récupérer une valeur suite a un POST

n°1432178
hal777
Posté le 27-08-2006 à 18:46:18  profilanswer
 

Bonjour,
 
Sur mon site, j'ai une procédure de 4 pages dans lesquelles je fais remplir des infos à un user.
La 5ème page doit afficher une récap de toutes les saisies ...
 
Dans la 4ème page, j'ai deux listes déroulantes qui sont mises à jour par un script Javascript.
 
Lorsque je POST ma 4ème page pour afficher la récap ... j'ai une erreur qui me dit que les valeurs du select n'existent pas.
 
PAGE 4 (avant recap)

Code :
  1. <html>
  2. <head>
  3.    <script language=javascript>script qui aliment mon SELECT</script>
  4. </head
  5. <body>
  6.    <form name=toto>
  7.       <select name=select1>
  8.          <OPTION >--------------------------------------------------</OPTION>
  9.          <OPTION >--------------------------------------------------</OPTION>
  10.          <OPTION >--------------------------------------------------</OPTION>
  11.       </select>
  12.       <select name=select2>
  13.          <OPTION >--------------------------------------------------</OPTION>
  14.          <OPTION >--------------------------------------------------</OPTION>
  15.          <OPTION >--------------------------------------------------</OPTION>
  16.       </select>
  17.    </form
  18. </body>
  19. </html

PAGE 5 (recap)

Code :
  1. <html>
  2. <head></head
  3. <body>
  4. <?
  5. Print $_POST['select1']."<br>";
  6. Print $_POST['select2']."<br>";
  7. ?>
  8. </body>
  9. </html


 
Mon erreur : UNDEFINED INDEX select1 in ...
j'ai deux fois cette erreur : une fois pour select1 et une autre fois pour select2
 
Avez vous des idées ... ai-je été clair ???
 
Merci à vous

mood
Publicité
Posté le 27-08-2006 à 18:46:18  profilanswer
 

n°1432181
axelazerty
Posté le 27-08-2006 à 18:49:10  profilanswer
 

si c'est un copier-coller : mets des guillemets autour des nom des <select>, as tu bien précisé method="post" dans <form> ?

n°1432182
Dark Pizza
Posté le 27-08-2006 à 18:50:43  profilanswer
 

dans la balise de ton form page 4...
 
rajoute "" method="post" action="page5.php" ""
 
ligne 18, ton form n'est pas fermé... euh moi j'utiliserai les echo au lieu des print mais c'est personnel sinon les <option></option> pourquoi ne pas les mettre en minuscule, c'est la norme, jaimais compris pourquoi, enfin...
 
Ah ui et la balise d'ouverture php, mets <?php au lieu de <? idem, question de normes...

n°1432183
hal777
Posté le 27-08-2006 à 18:51:14  profilanswer
 

axelazerty a écrit :

si c'est un copier-coller : mets des guillemets autour des nom des <select>, as tu bien précisé method="post" dans <form> ?


 
Merci de ta réponse,
 
ce n'est asp un copier coller ... j'ai écrit rapido a la main pour faire plus court que de coller la page entière.
 
Pour répondreà ta question : oui j'ai précisé POST.
 
merci

n°1432188
axelazerty
Posté le 27-08-2006 à 18:53:37  profilanswer
 

fais un print_r(array_keys($_POST)) pour voir les noms des éléments du formulaire qui ont été postés.
ou carrément print_r($_POST)

Message cité 1 fois
Message édité par axelazerty le 27-08-2006 à 18:54:03
n°1432189
Dark Pizza
Posté le 27-08-2006 à 18:53:47  profilanswer
 

ha, c'est pas un copier collé simplifié... alors... euh, on peut voir le code?

n°1432191
axelazerty
Posté le 27-08-2006 à 18:54:30  profilanswer
 

http://www.pastebin.com si c'est trop gros comme code

n°1432195
hal777
Posté le 27-08-2006 à 19:01:13  profilanswer
 

axelazerty a écrit :

fais un print_r(array_keys($_POST)) pour voir les noms des éléments du formulaire qui ont été postés.
ou carrément print_r($_POST)


je récupère ça :
 
print_r(array_keys($_POST))  donne :
Array ( [0] => zlService [1] => zlModel [2] => media [3] => CRE_DATPRO_JJ [4] => CRE_DATPRO_MM [5] => CRE_DATPRO_AAAA [6] => CRE_DATLIM_JJ [7] => CRE_DATLIM_MM [8] => CRE_DATLIM_AAAA [9] => ACT_TRT [10] => comment1 )  
 
print_r($_POST) donne :
Array ( [zlService] => 2 [zlModel] => 5 [media] => TYPMED002 [CRE_DATPRO_JJ] => 27 [CRE_DATPRO_MM] => 08 [CRE_DATPRO_AAAA] => 2006 [CRE_DATLIM_JJ] => 27 [CRE_DATLIM_MM] => 08 [CRE_DATLIM_AAAA] => 2006 [ACT_TRT] => N [comment1] => Saisissez votre commentaire ici. )

n°1432197
axelazerty
Posté le 27-08-2006 à 19:03:13  profilanswer
 

les noms affichés te disent quelque chose ? normalement ce sont les noms de élements du formulaire. select1 et 2 n'y sont pas, donc il y a un problème dans ton formulaire.

n°1432198
hal777
Posté le 27-08-2006 à 19:07:08  profilanswer
 

axelazerty a écrit :

les noms affichés te disent quelque chose ? normalement ce sont les noms de élements du formulaire. select1 et 2 n'y sont pas, donc il y a un problème dans ton formulaire.


 
le script que j'ai donné : je l'ai tappé vite fait ...
 
En fait je retrouve bien entre autre z1service et z1model (qui sont le nom des select de ma page)...
 
le message d'erreur :  
 
Notice: Undefined index: suite_a in E:\Websites\BTP74\Creation\Cre-crea4-avancement_CHECK.php on line 23
Notice: Undefined index: piece in E:\Websites\BTP74\Creation\Cre-crea4-avancement_CHECK.php on line 24
Notice: Undefined index: emetteur in E:\Websites\BTP74\Creation\Cre-crea4-avancement_CHECK.php on line 25
Notice: Undefined index: destinataire in E:\Websites\BTP74\Creation\Cre-crea4-avancement_CHECK.php on line 26
Notice: Undefined index: z1Service in E:\Websites\BTP74\Creation\Cre-crea4-avancement_CHECK.php on line 35
Notice: Undefined index: z1Model in E:\Websites\BTP74\Creation\Cre-crea4-avancement_CHECK.php on line 36

mood
Publicité
Posté le 27-08-2006 à 19:07:08  profilanswer
 

n°1432200
hal777
Posté le 27-08-2006 à 19:10:25  profilanswer
 

hal777 a écrit :

je récupère ça :
 
je comprend pas trop ce qui est écrit dans la trace ....
print_r($_POST) donne :
Array ( [zlService] => 2 [zlModel] => 5 [media] => TYPMED002 [CRE_DATPRO_JJ] => 27 [CRE_DATPRO_MM] => 08 [CRE_DATPRO_AAAA] => 2006 [CRE_DATLIM_JJ] => 27 [CRE_DATLIM_MM] => 08 [CRE_DATLIM_AAAA] => 2006 [ACT_TRT] => N [comment1] => Saisissez votre commentaire ici. )


 
cela veut t'il dire que :
zlService = 2
zlModel  = 5  
...
??????

n°1432202
axelazerty
Posté le 27-08-2006 à 19:11:54  profilanswer
 

z1service ou zlservice ? on dirait un l minuscule dans le résultat du print_r() et un 1 dans les Notice.
 
Ensuite il faudrait le code précis de ton formulaire.

n°1432203
axelazerty
Posté le 27-08-2006 à 19:14:36  profilanswer
 

oui, c'est bien ça.le champ zlService a été rempli par la valeur 2, zlModel par 5, etc...
 
Lis la doc de PHP sur les variables $_POST et la recommandation W3C sur le HTML 4.01 et les formulaires, j'ai l'impression que tu n'as pas saisi le principe.

n°1432261
fpo
Venez me chercher !
Posté le 27-08-2006 à 22:45:40  profilanswer
 

Bon,
 
pour ceux qui veulent voir le vrai code
 

Code :
  1. <HTML>
  2. <HEAD>
  3. <script language='javascript'>
  4. function Choixservice(choix)
  5. {
  6.    var z1Service;
  7.    id_service = document.frmDemo1.zlService.selectedIndex;
  8.    document.frmDemo1.nom_service2.value = choix.options[id_service].text;
  9. }
  10. function ModifierListe(id_model)
  11. {
  12.   lg = document.frmDemo1.zlModel.length;
  13.   // On vide la liste
  14.   for (i = lg - 1; i >= 0; i--)
  15.   { document.frmDemo1.zlModel.options[i] = null; }
  16.   id_service = document.frmDemo1.zlService.selectedIndex;
  17. <?
  18. // On récupère la listes des code type opération (INTEGRATION CREANCE, REGLEMENT, CREATION FRAIS)
  19. //   $sql = "SELECT TOP_CLE, TOP_LIB FROM ".$schema_mysql.".code_type_operation";
  20.    $resultat = mysqli_query($connect_mysql, $cat_procedure);
  21.    $max_lignes = 0;
  22.    $option_max = '';
  23. while ($enr = mysqli_fetch_array($resultat))
  24. {
  25. $sql  = "".$cat_actions." WHERE rtrim(CACT_CPRO)=\"".$enr['CPRO_REF1']."\" order by CACT_ORD asc";
  26. $resultat2 = mysqli_query($connect_mysql, $sql);
  27. $nb_resultat2 = mysqli_num_rows($resultat2);
  28. echo "\n";
  29. echo "  if (document.frmDemo1.zlService.options[id_service].value == \"".$enr['CPRO_REF1']."\" )\n   {\n";
  30. echo "    document.frmDemo1.zlModel.length = \"".(mysqli_num_rows($resultat2))."\";\n";
  31. $cpt = 0;
  32. while ($enr2 = mysqli_fetch_array($resultat2))
  33.   {
  34.   echo "    document.frmDemo1.zlModel.options[".$cpt."].value = \"".$enr2['CACT_REF1']."\" ;\n";
  35.   echo "    document.frmDemo1.zlModel.options[".$cpt."].text  = \"".$enr2['CACT_LIB']."\";\n";
  36.   $cpt++;
  37.   if ($cpt > $max_lignes) $max_lignes = $cpt;
  38.   if (strlen($enr2['CACT_LIB']) > strlen($option_max)) $option_max = $enr2['CACT_LIB'];
  39.    }
  40. echo "   }\n";
  41. }
  42. ?>
  43. }
  44. </script>
  45. </script>
  46. </HEAD>
  47. <BODY>
  48. <?
  49. echo "<SELECT NAME=\"zlService\" onChange=\"ModifierListe(-1),Choixservice(this)\" size=\"5\">\n";
  50. while ($enr = mysqli_fetch_array($resultat))
  51. {
  52. $cpt++;
  53. echo "<OPTION VALUE=\"".$enr['CPRO_REF1']."\"";
  54. if ( $resultatmin[0] == $enr['CPRO_ORD'] ) { echo " SELECTED";}
  55. echo ">".htmlspecialchars($enr['CPRO_LIB'])."</OPTION>\n";
  56. }
  57. echo " </SELECT>\n";
  58. echo "<SELECT NAME=\"zlModel\" size=\"5\">\n"; //onChange=\"AllerA('doc',this,0)\"
  59. for ($cpt = 0; $cpt < $max_lignes; $cpt++)
  60. echo " <OPTION >".ereg_replace(".", "--", $option_max)."</OPTION>\n";
  61. echo " </SELECT>\n";
  62. if (!isset($zlModel)) $zlModel = -1;
  63. // On lance une première fois la javascript pour supprimer les caractères ------- via le eReg_replace
  64. echo "<SCRIPT LANGUAGE=\"JavaScript\">;ModifierListe(".$zlModel." );</SCRIPT>\n";
  65. if (isset($zlService) && $zlService != "" )
  66. {
  67. $sql = "".$cat_procedure." Where CPRO_REF1=\"".$zlService."\"";
  68. $resultat = @mysqli_query($connect_mysql, $sql);
  69. $enr = @mysqli_fetch_array($resultat);
  70. echo "Service = $zlService [$enr[0]]<BR><br><br>\n";
  71. }
  72. if (isset($zlModel) && $zlModel != "" && $zlModel != -1)
  73. {
  74. $sql  = "".$cat_actions." WHERE CACT_CPRO=\"".$zlModel."\"";
  75. $resultat = @mysqli_query($connect_mysql, $sql);
  76. $enr = @mysqli_fetch_array($resultat);
  77. echo "Model = $zlModel [$enr[0]]<br>\n";
  78. }
  79. <button onClick="ajouter_action();">Ajouter action</button>
  80. ?>
  81. </BODY>
  82. </HTML>


 
Voilou,
 
j'ai toujours le même probleme et je me demande pourquoi lorsque je "print" ceci: print_r($_POST);
  => et bien je trouve que z1Service vaut 1 ....  :pt1cable:

n°1432612
hal777
Posté le 28-08-2006 à 15:56:25  profilanswer
 

DSL j'ai posté depuis le PC d'un pote ...
 
Je recommence avec mon compte :
 
Bon,
 
pour ceux qui veulent voir le vrai code
 

Code :
  1. <HTML>
  2. <HEAD>
  3. <script language='javascript'>
  4. function Choixservice(choix)
  5. {
  6.    var z1Service;
  7.    id_service = document.frmDemo1.zlService.selectedIndex;
  8.    document.frmDemo1.nom_service2.value = choix.options[id_service].text;
  9. }
  10. function ModifierListe(id_model)
  11. {
  12.   lg = document.frmDemo1.zlModel.length;
  13.   // On vide la liste
  14.   for (i = lg - 1; i >= 0; i--)
  15.   { document.frmDemo1.zlModel.options[i] = null; }
  16.   id_service = document.frmDemo1.zlService.selectedIndex;
  17. <?
  18. // On récupère la listes des code type opération (INTEGRATION CREANCE, REGLEMENT, CREATION FRAIS)
  19. //   $sql = "SELECT TOP_CLE, TOP_LIB FROM ".$schema_mysql.".code_type_operation";
  20.    $resultat = mysqli_query($connect_mysql, $cat_procedure);
  21.    $max_lignes = 0;
  22.    $option_max = '';
  23. while ($enr = mysqli_fetch_array($resultat))
  24. {
  25. $sql  = "".$cat_actions." WHERE rtrim(CACT_CPRO)=\"".$enr['CPRO_REF1']."\" order by CACT_ORD asc";
  26. $resultat2 = mysqli_query($connect_mysql, $sql);
  27. $nb_resultat2 = mysqli_num_rows($resultat2);
  28. echo "\n";
  29. echo "  if (document.frmDemo1.zlService.options[id_service].value == \"".$enr['CPRO_REF1']."\" )\n   {\n";
  30. echo "    document.frmDemo1.zlModel.length = \"".(mysqli_num_rows($resultat2))."\";\n";
  31. $cpt = 0;
  32. while ($enr2 = mysqli_fetch_array($resultat2))
  33.   {
  34.   echo "    document.frmDemo1.zlModel.options[".$cpt."].value = \"".$enr2['CACT_REF1']."\" ;\n";
  35.   echo "    document.frmDemo1.zlModel.options[".$cpt."].text  = \"".$enr2['CACT_LIB']."\";\n";
  36.   $cpt++;
  37.   if ($cpt > $max_lignes) $max_lignes = $cpt;
  38.   if (strlen($enr2['CACT_LIB']) > strlen($option_max)) $option_max = $enr2['CACT_LIB'];
  39.    }
  40. echo "   }\n";
  41. }
  42. ?>
  43. }
  44. </script>
  45. </script>
  46. </HEAD>
  47. <BODY>
  48. <?
  49. echo "<SELECT NAME=\"zlService\" onChange=\"ModifierListe(-1),Choixservice(this)\" size=\"5\">\n";
  50. while ($enr = mysqli_fetch_array($resultat))
  51. {
  52. $cpt++;
  53. echo "<OPTION VALUE=\"".$enr['CPRO_REF1']."\"";
  54. if ( $resultatmin[0] == $enr['CPRO_ORD'] ) { echo " SELECTED";}
  55. echo ">".htmlspecialchars($enr['CPRO_LIB'])."</OPTION>\n";
  56. }
  57. echo " </SELECT>\n";
  58. echo "<SELECT NAME=\"zlModel\" size=\"5\">\n"; //onChange=\"AllerA('doc',this,0)\"
  59. for ($cpt = 0; $cpt < $max_lignes; $cpt++)
  60. echo " <OPTION >".ereg_replace(".", "--", $option_max)."</OPTION>\n";
  61. echo " </SELECT>\n";
  62. if (!isset($zlModel)) $zlModel = -1;
  63. // On lance une première fois la javascript pour supprimer les caractères ------- via le eReg_replace
  64. echo "<SCRIPT LANGUAGE=\"JavaScript\">;ModifierListe(".$zlModel." );</SCRIPT>\n";
  65. if (isset($zlService) && $zlService != "" )
  66. {
  67. $sql = "".$cat_procedure." Where CPRO_REF1=\"".$zlService."\"";
  68. $resultat = @mysqli_query($connect_mysql, $sql);
  69. $enr = @mysqli_fetch_array($resultat);
  70. echo "Service = $zlService [$enr[0]]<BR><br><br>\n";
  71. }
  72. if (isset($zlModel) && $zlModel != "" && $zlModel != -1)
  73. {
  74. $sql  = "".$cat_actions." WHERE CACT_CPRO=\"".$zlModel."\"";
  75. $resultat = @mysqli_query($connect_mysql, $sql);
  76. $enr = @mysqli_fetch_array($resultat);
  77. echo "Model = $zlModel [$enr[0]]<br>\n";
  78. }
  79. <button onClick="ajouter_action();">Ajouter action</button>
  80. ?>
  81. </BODY>
  82. </HTML>


 
Voilou,
 
j'ai toujours le même probleme et je me demande pourquoi lorsque je "print" ceci: print_r($_POST);
  => et bien je trouve que z1Service vaut 1 ....  :pt1cable:

n°1432699
kadreg
profil: Utilisateur
Posté le 28-08-2006 à 18:31:15  profilanswer
 

plop les moules !


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°1432702
axelazerty
Posté le 28-08-2006 à 18:39:38  profilanswer
 

[:haha]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Pb pour récupérer une valeur suite a un POST

 

Sujets relatifs
calculer une valeur entre deux dates[JFileChooser] récupérer des infos !
recuperer varaible en js définie dans plusieurs form[HTML]Ouvrir la réponse d'un POST dans une fenêtre de dim. choisie
Valeur max d'un int(11)Récupérer morceau par morceau le contenu binaire d'un fichier
recuperer un item affiché avec attachmovieRécupérer IP de façon efficace
Recuperer l'ip d'un membrecomment recuperer un identifiant de la classe mère
Plus de sujets relatifs à : Pb pour récupérer une valeur suite a un POST


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR