Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/04/2011, 21:14
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 8 meses
Puntos: 1517
Respuesta: Como enviar un Array por form

Añado, también podrías en un solo campo enviarlo, solo es cuestión de convertir el array en json o mejor aún con serialize, que es lo indicado para pasar datos a través de la aplicación.

Con json
Código PHP:
Ver original
  1. <?php
  2. $paises = array(
  3. 0=>"Afganistan",
  4. 1=>"Africa del Sur",
  5. 2=>"Albania",
  6. 3=>"Alemania",
  7. 4=>"Andorra",
  8. 5=>"Angola",
  9. 6=>"Antigua y Barbuda",
  10. 7=>"Antillas Holandesas",
  11. 8=>"Arabia Saudita",
  12. 9=>"Argelia",
  13. 10=>"Argentina",
  14. 11=>"Armenia",
  15. 12=>"Aruba",
  16. 13=>"Australia",
  17. 14=>"Austria",
  18. 15=>"Azerbaijan",
  19. 16=>"Bahamas",
  20. 17=>"Bahrain",
  21. 18=>"Bangladesh",
  22. 19=>"Barbados",
  23. 20=>"Belarusia",
  24. 21=>"Belgica",
  25. 22=>"Belice",
  26. 23=>"Benin",
  27. 24=>"Bermudas",
  28. 25=>"Bolivia",
  29. 26=>"Bosnia",
  30. 27=>"Botswana",
  31. 28=>"Brasil",
  32. 29=>"Brunei Darussulam",
  33. 30=>"Bulgaria",
  34. 31=>"Burkina Faso",
  35. 32=>"Burundi",
  36. 33=>"Butan",
  37. 34=>"Camboya",
  38. 35=>"Camerun",
  39. 36=>"Canada",
  40. 37=>"Cape Verde",
  41. 38=>"Chad",
  42. 39=>"Chile",
  43. 40=>"China",
  44. 41=>"Chipre",
  45. 42=>"Colombia",
  46. 43=>"Comoros",
  47. 44=>"Congo",
  48. 45=>"Corea del Norte",
  49. 46=>"Corea del Sur",
  50. 47=>"Costa de Marfíl",
  51. 48=>"Costa Rica",
  52. 49=>"Croasia",
  53. 50=>"Cuba",
  54. 51=>"Dinamarca",
  55. 52=>"Djibouti",
  56. 53=>"Dominica",
  57. 54=>"Ecuador",
  58. 55=>"Egipto",
  59. 56=>"El Salvador",
  60. 57=>"Emiratos Arabes Unidos",
  61. 58=>"Eritrea",
  62. 59=>"Eslovenia",
  63. 60=>"España",
  64. 61=>"Estados Unidos",
  65. 62=>"Estonia",
  66. 63=>"Etiopia",
  67. 64=>"Fiji",
  68. 65=>"Filipinas",
  69. 66=>"Finlandia",
  70. 67=>"Francia",
  71. 68=>"Gabon",
  72. 69=>"Gambia",
  73. 70=>"Georgia",
  74. 71=>"Ghana",
  75. 72=>"Granada",
  76. 73=>"Grecia",
  77. 74=>"Groenlandia",
  78. 75=>"Guadalupe",
  79. 76=>"Guam",
  80. 77=>"Guatemala",
  81. 78=>"Guayana Francesa",
  82. 79=>"Guerney",
  83. 80=>"Guinea",
  84. 81=>"Guinea-Bissau",
  85. 82=>"Guinea Equatorial",
  86. 83=>"Guyana",
  87. 84=>"Haiti",
  88. 85=>"Holanda",
  89. 86=>"Honduras",
  90. 87=>"Hong Kong",
  91. 88=>"Hungria",
  92. 89=>"India",
  93. 90=>"Indonesia",
  94. 91=>"Irak",
  95. 92=>"Iran",
  96. 93=>"Irlanda",
  97. 94=>"Islandia",
  98. 95=>"Islas Caiman",
  99. 96=>"Islas Faroe",
  100. 97=>"Islas Malvinas",
  101. 98=>"Islas Marshall",
  102. 99=>"Islas Solomon",
  103. 100=>"Islas Virgenes Britanicas",
  104. 101=>"Islas Virgenes (U.S.)",
  105. 102=>"Israel",
  106. 103=>"Italia",
  107. 104=>"Jamaica",
  108. 105=>"Japon",
  109. 106=>"Jersey",
  110. 107=>"JJordania",
  111. 108=>"Kazakhstan",
  112. 109=>"Kenia",
  113. 110=>"Kiribati",
  114. 111=>"Kuwait",
  115. 112=>"Kyrgyzstan",
  116. 113=>"Laos",
  117. 114=>"Latvia",
  118. 115=>"Lesotho",
  119. 116=>"Libano",
  120. 117=>"Liberia",
  121. 118=>"Libia");
  122. $json = json_encode($paises);
  123.  
  124. if(array_key_exists('array', $_POST)){
  125.     echo '<pre>';
  126.     print_r(json_decode($_POST['array']));
  127.     echo '</pre>';
  128. }
  129.  
  130. ?>
  131.  
  132. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  133.     <textarea name="array"><?php echo $json; ?></textarea>
  134.     <input type="submit" />
  135. </form>

Con serialize
Código PHP:
Ver original
  1. <?php
  2. $paises = array(
  3. 0=>"Afganistan",
  4. 1=>"Africa del Sur",
  5. 2=>"Albania",
  6. 3=>"Alemania",
  7. 4=>"Andorra",
  8. 5=>"Angola",
  9. 6=>"Antigua y Barbuda",
  10. 7=>"Antillas Holandesas",
  11. 8=>"Arabia Saudita",
  12. 9=>"Argelia",
  13. 10=>"Argentina",
  14. 11=>"Armenia",
  15. 12=>"Aruba",
  16. 13=>"Australia",
  17. 14=>"Austria",
  18. 15=>"Azerbaijan",
  19. 16=>"Bahamas",
  20. 17=>"Bahrain",
  21. 18=>"Bangladesh",
  22. 19=>"Barbados",
  23. 20=>"Belarusia",
  24. 21=>"Belgica",
  25. 22=>"Belice",
  26. 23=>"Benin",
  27. 24=>"Bermudas",
  28. 25=>"Bolivia",
  29. 26=>"Bosnia",
  30. 27=>"Botswana",
  31. 28=>"Brasil",
  32. 29=>"Brunei Darussulam",
  33. 30=>"Bulgaria",
  34. 31=>"Burkina Faso",
  35. 32=>"Burundi",
  36. 33=>"Butan",
  37. 34=>"Camboya",
  38. 35=>"Camerun",
  39. 36=>"Canada",
  40. 37=>"Cape Verde",
  41. 38=>"Chad",
  42. 39=>"Chile",
  43. 40=>"China",
  44. 41=>"Chipre",
  45. 42=>"Colombia",
  46. 43=>"Comoros",
  47. 44=>"Congo",
  48. 45=>"Corea del Norte",
  49. 46=>"Corea del Sur",
  50. 47=>"Costa de Marfíl",
  51. 48=>"Costa Rica",
  52. 49=>"Croasia",
  53. 50=>"Cuba",
  54. 51=>"Dinamarca",
  55. 52=>"Djibouti",
  56. 53=>"Dominica",
  57. 54=>"Ecuador",
  58. 55=>"Egipto",
  59. 56=>"El Salvador",
  60. 57=>"Emiratos Arabes Unidos",
  61. 58=>"Eritrea",
  62. 59=>"Eslovenia",
  63. 60=>"España",
  64. 61=>"Estados Unidos",
  65. 62=>"Estonia",
  66. 63=>"Etiopia",
  67. 64=>"Fiji",
  68. 65=>"Filipinas",
  69. 66=>"Finlandia",
  70. 67=>"Francia",
  71. 68=>"Gabon",
  72. 69=>"Gambia",
  73. 70=>"Georgia",
  74. 71=>"Ghana",
  75. 72=>"Granada",
  76. 73=>"Grecia",
  77. 74=>"Groenlandia",
  78. 75=>"Guadalupe",
  79. 76=>"Guam",
  80. 77=>"Guatemala",
  81. 78=>"Guayana Francesa",
  82. 79=>"Guerney",
  83. 80=>"Guinea",
  84. 81=>"Guinea-Bissau",
  85. 82=>"Guinea Equatorial",
  86. 83=>"Guyana",
  87. 84=>"Haiti",
  88. 85=>"Holanda",
  89. 86=>"Honduras",
  90. 87=>"Hong Kong",
  91. 88=>"Hungria",
  92. 89=>"India",
  93. 90=>"Indonesia",
  94. 91=>"Irak",
  95. 92=>"Iran",
  96. 93=>"Irlanda",
  97. 94=>"Islandia",
  98. 95=>"Islas Caiman",
  99. 96=>"Islas Faroe",
  100. 97=>"Islas Malvinas",
  101. 98=>"Islas Marshall",
  102. 99=>"Islas Solomon",
  103. 100=>"Islas Virgenes Britanicas",
  104. 101=>"Islas Virgenes (U.S.)",
  105. 102=>"Israel",
  106. 103=>"Italia",
  107. 104=>"Jamaica",
  108. 105=>"Japon",
  109. 106=>"Jersey",
  110. 107=>"JJordania",
  111. 108=>"Kazakhstan",
  112. 109=>"Kenia",
  113. 110=>"Kiribati",
  114. 111=>"Kuwait",
  115. 112=>"Kyrgyzstan",
  116. 113=>"Laos",
  117. 114=>"Latvia",
  118. 115=>"Lesotho",
  119. 116=>"Libano",
  120. 117=>"Liberia",
  121. 118=>"Libia");
  122. $serialize = base64_encode(serialize($paises));
  123.  
  124. if(array_key_exists('array', $_POST)){
  125.     echo '<pre>';
  126.     print_r(unserialize(base64_decode($_POST['array'])));
  127.     echo '</pre>';
  128. }
  129.  
  130. ?>
  131.  
  132. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  133.     <textarea name="array"><?php echo $serialize; ?></textarea>
  134.     <input type="submit" />
  135. </form>

Edito: se me adelantaron
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos