Foros del Web » Programando para Internet » PHP »

Uso del foreach

Estas en el tema de Uso del foreach en el foro de PHP en Foros del Web. Hola. Estoy haciendo un formulario con un numero de variablesque a veces puede valer 3 o 4 o 10, depende. Para el formulario hago un ...
  #1 (permalink)  
Antiguo 23/11/2007, 18:37
 
Fecha de Ingreso: noviembre-2007
Mensajes: 65
Antigüedad: 16 años, 5 meses
Puntos: 0
Uso del foreach

Hola.

Estoy haciendo un formulario con un numero de variablesque a veces puede valer 3 o 4 o 10, depende.

Para el formulario hago un bucle for, donde aparece tantos input como quiera y las variables del input se guardan en... name='nomVar1' name='nomVar2' name='nomVar3' etc...

Para rescatar esas variables en la sigueinte pagina, uso el 'foreach' pero estoy probando y no se me graba las variables bien....

Pretendo rescatar las variables con 'nuevoNomVar1' 'nuevoNomVar2' 'nuevoNomVar3' etc...

A ver si podeis echarme un mano.. para poder tener en la siguiente pagina todas las varibales que necesito...

Un saludo gracias...


Os pongo mi codido:

<?php
foreach($_POST as $nombre_campo => $valor){
$i=0;

$asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
eval($asignacion);
echo'$var.".$i."="$nombre_campo" $var.".$i."=$valor';
$i++;
}


?>



Lo rojo, pertendo que se grabe las siguiente varibales... $var1 $var2 $var3.... y luego grabar dentro de las variables el valor correspondiente... $var1=$valor.... $var2=$valor etc....

Creo que me falta alguna coma o algo. A ver si podeis echarme una mano.

Un saludo gracias!

Última edición por RhOsS; 23/11/2007 a las 18:49
  #2 (permalink)  
Antiguo 23/11/2007, 19:07
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Uso del foreach

No entiendo bien lo que pretendes hacer, ni siquiera entiendo la utilidad de la linea que marcas con rojo. Podrias ser un poco mas claro?

Haber si capte algo... Quieres que cada campo de tu formulario se guarde en una variable de nombre diferente al que llevaba el campo en el <form>, con su valor correspondiente??... Prueba de esta manera:

Código PHP:
foreach($_POST as $valor){
    
$i=0;
    eval(
"$var$i = $valor");
    
$i++;

Un saludo,
  #3 (permalink)  
Antiguo 24/11/2007, 00:44
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Uso del foreach

"Si eval es tu respuesta, estás haciendo la pregunta equivocada"

Código PHP:
<?php
$_POST 
= array(
    
'nomVar1' => 'abcde',
    
'nomVar2' => 'abcde',
    
'nomVar3' => 'abcde',
    
'submit' => 'Enviar',
);

foreach (
$_POST as $key => $value)
{
    if (
strpos($key'nomVar') === 0)
    {
        ${
'var' substr($key,6)} = $value;

    }
}
echo 
$var1;
?>
  #4 (permalink)  
Antiguo 24/11/2007, 03:25
 
Fecha de Ingreso: noviembre-2007
Mensajes: 65
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Uso del foreach

A ver si me puedo explicar mejor.

Yo tengo 9 variables a pasara desde un formulario (podria tener mas por eso uso un bucle...), el caso que quiero llamar a cada variable con nombre diferente es decir... var1 var2 var3 etc...

Como estoy aprendiendo, lo de eval no se para que sirve.

Si que creo que puede funcionar el primer codigo que has escrito...

Teniedo en cuenta que no tengo mucha idea, eval es para asignar nombre y valor de cada variable verdad??? ahora piyo, entonces en eval tengo la respuesta no?
  #5 (permalink)  
Antiguo 24/11/2007, 03:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 65
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Uso del foreach

Uso este codigo y me sale un error, no se que esta mal...


<?php


foreach($_POST as $nom){

$i=0;
eval("$var$i = $nom");
$i++;
}

?>



Parse error: parse error in c:\archivos de programa\easyphp1-8\www\menu\config.php(7) : eval()'d code on line 1
  #6 (permalink)  
Antiguo 24/11/2007, 13:05
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Uso del foreach

Código PHP:
eval("\$var$i = \"$nom\";"); 
Un saludo,
  #7 (permalink)  
Antiguo 24/11/2007, 13:07
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Uso del foreach

O usa:

Código PHP:
${"var".$i} = $nom
Un saludo,
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 21:35.