Foros del Web » Programando para Internet » PHP »

foreach me corta el arreglo

Estas en el tema de foreach me corta el arreglo en el foro de PHP en Foros del Web. Hola a todos: Al grano altiro, envio una variable que llega de un post asi: if(isset ($_POST['gastos'])){ foreach($_POST['gastos'] as $temp){ echo "<input type='hidden' name='nombre_gastos[]' value=$temp>"; ...
  #1 (permalink)  
Antiguo 18/02/2005, 14:07
 
Fecha de Ingreso: abril-2004
Ubicación: Concepcion
Mensajes: 72
Antigüedad: 20 años
Puntos: 0
foreach me corta el arreglo

Hola a todos:
Al grano altiro, envio una variable que llega de un post asi:

if(isset ($_POST['gastos'])){
foreach($_POST['gastos'] as $temp){
echo "<input type='hidden' name='nombre_gastos[]' value=$temp>";
}
}
Hice un echo $temp, para comprobar que la cadena "gasto uno" , llegara bien.Luego se envia a otra pagina para confirmar el envio a la base de datos (mysql):
foreach($_POST['nombre_gastos'] as $temp){
$nombre[$i]=$temp;
$i++;
}
Al hacer un echo $nombre[$i] , la cadena se corta y muestra solo el "gasto", perdiendose el "uno". Lo mismo si hago un echo $temp. Sugerencias?
  #2 (permalink)  
Antiguo 18/02/2005, 14:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Sucede por qué no respetastes las comillas para los tag's de HTML que usas .. Si existen . .debes usarlos . .no puedes omitirlos.

Código PHP:
echo "<input type=\"'hidden\" name=\"nombre_gastos[]\" value=\"".$temp."\">"
Observa que sucede cuando no usas comillas .. tu "value" queda:

<input ..... value=gasto uno >

eso para "HTML" value tiene el valor que encuentra hasta el primer espacio .. a partir de ahí se interpreta como otra propiedad de ese tag HTML .. lo cual no es lo que quieres ni es correcto .. por eso hay que usar comillas. Si usa comillas dobles, usalas .. se escapan con \ delante si las necesitas en una instrucción "echo" que abra y cierre con comillas.

Un saludo,
  #3 (permalink)  
Antiguo 19/02/2005, 13:10
 
Fecha de Ingreso: abril-2004
Ubicación: Concepcion
Mensajes: 72
Antigüedad: 20 años
Puntos: 0
Muchas gracias era eso
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 17:17.