Foros del Web » Programando para Internet » PHP »

Como enviar un Array por form

Estas en el tema de Como enviar un Array por form en el foro de PHP en Foros del Web. hola, porfa como enviar un Array por form, al presionar el boton, se envien todos estos datos a la pagina siguiente. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: ...
  #1 (permalink)  
Antiguo 23/04/2011, 20:53
 
Fecha de Ingreso: marzo-2010
Mensajes: 432
Antigüedad: 14 años, 1 mes
Puntos: 11
Como enviar un Array por form

hola, porfa como enviar un Array por form, al presionar el boton, se envien todos estos datos a la pagina siguiente.


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

recorrelos en un ciclo y crea un input type="hidden" para cada uno, en el name usa corchetes (ejemplo: name="valor[]") y llegarán a php como array
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 23/04/2011, 21:00
 
Fecha de Ingreso: marzo-2010
Mensajes: 432
Antigüedad: 14 años, 1 mes
Puntos: 11
Respuesta: Como enviar un Array por form

Cita:
Iniciado por maycolalvarez Ver Mensaje
recorrelos en un ciclo y crea un input type="hidden" para cada uno, en el name usa corchetes (ejemplo: name="valor[]") y llegarán a php como array
ooooh soprendente, entonces lo envio individualmente usando un ciclo, para recibirlo utilizo el mismo modo con el ciclo.

muchas gracias.
__________________
Libro de HTML 5 + codigo fuente bajar aqui.
  #4 (permalink)  
Antiguo 23/04/2011, 21:04
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Como enviar un Array por form

Cita:
Iniciado por tazzwt Ver Mensaje
ooooh soprendente, entonces lo envio individualmente usando un ciclo, para recibirlo utilizo el mismo modo con el ciclo.

muchas gracias.
sí, ¿que más simple puede ser?, existen otras soluciones como codificarlo/decodificarlo pero son un poco más sofisticadas, como usar base64decode y base64encode o JSON
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 23/04/2011, 21:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
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
  #6 (permalink)  
Antiguo 23/04/2011, 21:23
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Como enviar un Array por form

Cita:
Iniciado por abimaelrc Ver Mensaje
Edito: se me adelantaron
ni tanto, se me pasó por alto el serialize, ha de ser que tengo: , saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:21.