Foros del Web » Programando para Internet » PHP »

Componer variables. ¿Fácil?

Estas en el tema de Componer variables. ¿Fácil? en el foro de PHP en Foros del Web. Puff, a ver, lo más dificil de este Post yo creo que va a ser hacerme entender. Estoy programando un formulario para registrar los datos ...
  #1 (permalink)  
Antiguo 09/02/2004, 09:25
 
Fecha de Ingreso: julio-2003
Mensajes: 209
Antigüedad: 14 años, 4 meses
Puntos: 0
Componer variables. ¿Fácil?

Puff, a ver, lo más dificil de este Post yo creo que va a ser hacerme entender.

Estoy programando un formulario para registrar los datos recogidos en una base de datos, pero pretendo que el formulario sea dinámico, y ahí es donde aparece mi problema:

- El usuario escribe el título de un recurso
- Elige una categoría
- Y decide el número de entradas que va a registrar (por ejemplo X productos)

El formulario recoge ese número X, y genera tantas cajas de texto de esta manera:

Código PHP:
for ($i 1$i <= $X$i++) {  
echo 
"<input name=\"producto$i\" size=\"65\">"

Todo sale perfecto, genera las X cajas y registra los valores en las variables con el nombre $productoX (donde X son los números empezando por 1).

Y aquí es donde me atasco. El usuario pulsa en botón ENVIAR y yo quiero recoger esos valores en las variables $productoX y analizarlas, pero NO SE COMO LLAMAR A ESAS VARIABLES:

Código PHP:
if ($producto&$i}==""){
    echo 
"ERROR";
} else {
    echo 
"Dato correcto";

¿Entendéis? No se como hacer con un bucle de 1 a X que analice las variables porque no se como encadenar $producto con el número del nombre de variable adecuado. Sólo toma en cuenta en el código de aquí arriba el $i, por lo que siempre vale 1...X la variable.

He pensado en meterlas en un vector... pero tampoco se como hacerlo con el formulario... no puedo poner:

Código PHP:
 echo "<input name=\"producto[$i]\" size=\"65\">"
¿no?

¿Cómo lo hago?

Muchísimas gracias por la ayuda, de verdad.
  #2 (permalink)  
Antiguo 09/02/2004, 09:30
Avatar de vitxo  
Fecha de Ingreso: septiembre-2003
Ubicación: Valencia
Mensajes: 219
Antigüedad: 14 años, 3 meses
Puntos: 0
si pones:
Código HTML:
<input name="productos[]" ... /> 
Sólo tendrías que recoger el array desde el código PHP no?
  #3 (permalink)  
Antiguo 09/02/2004, 09:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Si, si puedes poner los nombres de los campos como arrays:
Código PHP:
echo "<input name=\"producto[$i]\" size=\"65\">";
// para leerlo
$productos=$_POST['producto']; // productos es ahora el array con lo valores
foreach ($productos as $prod) {
  echo 
$prod.'<br>';

De todas formas, si tienes curiosidad de como hacerlo de la otra forma, mira las "variables variables": http://www.php.net/manual/en/languag...s.variable.php

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 09/02/2004, 09:45
 
Fecha de Ingreso: julio-2003
Mensajes: 209
Antigüedad: 14 años, 4 meses
Puntos: 0
Muchísimas gracias. Estais hechos unos máquinas. No sabéis la alegría que me acabáis de dar ^_^
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 03:23.