Foros del Web » Programando para Internet » PHP »

arrays en un formulario

Estas en el tema de arrays en un formulario en el foro de PHP en Foros del Web. Estoy intentando pasar por post una serie de datos en un array. En teoría sé cómo hacerlo, pero no me funciona. ¿Alguien me puede pasar ...
  #1 (permalink)  
Antiguo 07/08/2009, 06:28
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 10 años, 9 meses
Puntos: 3
arrays en un formulario

Estoy intentando pasar por post una serie de datos en un array. En teoría sé cómo hacerlo, pero no me funciona. ¿Alguien me puede pasar un código que funcione? Tanto la parte del envío como de la recepción, porque no sé dónde tengo el error.

O bien ver dónde está el error aquí: ee cogido de un tutorial webtaller.com) el siguiente código:

html>
<head>
<title>Array en Forma :: PHP</title>
<head>
<body>
<br />
<b>Selecciona tus postres favoritos:</b><br /><br />
<form method="post" action="prueba2.php">
<input name="postre[]" type="checkbox" value="Helado de Vainilla">Helado de vanilla<br />
<input name="postre[]" type="checkbox" value="Pastel de Chocolate">Pastel de Chocolate<br />
<input name="postre[]" type="checkbox" value="Pay de elote">Pay de elote<br />
<input name="postre[]" type="checkbox" value="Bubulubu">Bubulubu<br />
<input name="postre[]" type="checkbox" value="Duraznos en almibar">Duraznos en almibar<br />
<input name="postre[]" type="checkbox" value="Fresas con crema">Fresas con crema<br />
<input name="send" type="submit" id="send" value="Enviar!">
</form>

<?php
if (isset($_POST['postre']))
{
$postre = $_POST['postre'];
$n = count($postre);
$i = 0;

echo "Tus postres favoritos son: rn" .
"<ol>";
while ($i < $n)
{
echo "<li>{$postre[$i]}</li> rn";
$i++;
}
echo "</ol>";
}
?>

</body>
</html>

Y lo recibo con el siguiente código:

?php
echo"hola";
$recibido=$_POST['postre[0]'];
echo "$recibido";
?>

Me escribe hola y ya está.
  #2 (permalink)  
Antiguo 07/08/2009, 06:48
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 11 años, 6 meses
Puntos: 139
Respuesta: arrays en un formulario

Pero no le veo ningun error .

Lo unico que estas procesando el codigo en el mismo archivo lo cual deberias guardarlo con extencion .php y en el formulario el action deveria apuntar al mismo archivo

Código PHP:
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
Otra cosita en el while
Código PHP:
echo "<li>{$postre[$i]}</li>\r\n"

Aplicale los cambios y pruebalo.

Suerte.
  #3 (permalink)  
Antiguo 07/08/2009, 09:04
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 10 años, 9 meses
Puntos: 3
Respuesta: arrays en un formulario

El segundo grupo de código que he puesto pertencece a prueba2.php, la parte de abajo del código es porque la he copiado literal del tutorial, en realidad sobra. el action la envía a prueba2.php y esa parte no se ejecuta.
Lo que no entiendo es por qué en la parte de abajo, que es donde lee el post, lo cambia a otra variable:

¿qué sentido tiene esto: $postre = $_POST['postre'];? Para luego usar

echo "<li>{$postre[$i]}</li>\r\n";

¿Por qué no:


"<li>{$_POST['postre[$i]'}</li>\r\n";
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 09:52.