Cómo extraer valor de variables dinámicas a través de Post
Frecuentes
Visto 701 equipos
2
Estoy usando valores para enviar a la página siguiente a través del método de publicación. Los campos de tipo de entrada tienen nombres dinámicos que se crean así name="fob-$id"
. Ahora, cuando se envía por correo, hay de 4 a 5 variables, como fob-89, fob-29, fob-65, etc. ¿Cómo puedo asignar estos valores a una nueva variable?
NOTA: Sé qué números se adjuntarán con el llavero, por lo que no será un problema, el único problema al que me enfrento es cómo asignar estos valores a una variable.
$fob=$_POST['fob-$id'];
El código anterior no funciona. Gracias
3 Respuestas
2
La mejor manera sería nombrar sus campos HTML para que creen una matriz cuando se envíen de vuelta a PHP:
echo "<input type='text' name='fob[$id]' />";
Y luego en PHP puedes simplemente iterar sobre $_POST['fob']
:
foreach ($_POST['fob'] as $id => $value) {
// Do stuff
}
Respondido el 12 de junio de 12 a las 09:06
1
Según las actualizaciones de comentarios, asumiendo $id
es un entero obtenido de la $_SESSION
var, puede almacenarlo en una matriz:
$fob[$id] = $_POST['fob-' . $id];
Respondido el 12 de junio de 12 a las 09:06
1
En su lugar, debe usar una matriz en el nombre de las entradas. Como esto: name="fob[$id]"
Entonces puedes simplemente hacer un foreach($_POST["fob"] as $id => $value)
para obtener los valores
Respondido el 12 de junio de 12 a las 09:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php forms post or haz tu propia pregunta.
¿Quieres asignar todos los valores a una variable? ¿O asignar todos los valores a múltiples variables? - Bono
Si sabe qué números se adjuntarán, ¿por qué no
$fob89=$_POST['fob-89'];
etc? Tal vez pueda mostrarnos algún código y un ejemplo del comportamiento esperado.. - Fabrício MattéAsignaré valores dentro de un bucle.... Fabrico: No sé qué valores se envían, estos valores se extraerán de la identificación de la sesión del usuario... por lo que "id" se extraerá de la base de datos y si la identificación es 23, entonces el la variable enviada sería fob-23, ¿cómo puedo hacer que "-23" sea dinámico? Solo quiero usar una variable que complete el número automáticamente... - Nasir Zia
$fob=$_POST['fob-'.$id];
debería hacerlo, suponiendo$id
se obtiene de la$_SESSION['id']
. No estoy seguro de cómo quieres implementarlo en un bucle, supongo que sería mejor asignarlo a una matriz:$fob[$id]=$_POST['fob-'.$id];
- Fabrício MattéEso es exactamente lo que estaba buscando :) Muchas gracias: D - Nasir Zia