Foros del Web » Programando para Internet » PHP »

Formularios automaticos

Estas en el tema de Formularios automaticos en el foro de PHP en Foros del Web. Saludos a todos, tengo una gran duda, como le puedo hacer para hacer un formulario automatico, es decir, tengo algo asi <?php echo "<form method=post ...
  #1 (permalink)  
Antiguo 19/11/2003, 00:48
 
Fecha de Ingreso: agosto-2003
Mensajes: 8
Antigüedad: 14 años, 3 meses
Puntos: 0
Formularios automaticos

Saludos a todos, tengo una gran duda, como le puedo hacer para hacer un formulario automatico, es decir, tengo algo asi
<?php
echo "<form method=post action=$PHP_SELF>";
echo "1.- Articulo: ";
echo "<input type=text name=articulo1>";
echo "<input type=submit value=\"+\">";
?>

y al momento de que le de un click en el boton +, me agregue otro
campo

echo "2.- Articulo: ";
echo "<input type=text name=articulo2>"; asi si se requieren 10 poderlos agregar con el simple boton del +, claro sin perder los datos de los articulos anteriores.

Alguna idea como hacer esto?

De antemano gracias.
  #2 (permalink)  
Antiguo 19/11/2003, 02:41
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Con PHP haces el submit y al recargar la pagina recorres el array superglobal $_POST['articulo'] (tambien usaria arrays para los campos), para saber cuantos tienes. Luego añades un campo mas. Algo asi:
Código PHP:
<?php 
echo "<form method=post action=$PHP_SELF>";
$numero=0;
if (isset(
$_POST['articulo'])) {
  foreach (
$_POST['articulo'] as $articulo) {
    echo (
$numero+1).".- Articulo: ";
    echo 
"<input type=text name=\"articulo[]\" value=\"$articulo\">";
    echo 
"<input type=submit value=\"+\">";
    
$numero++;
  }
}
echo (
$numero+1).".- Articulo: ";
echo 
"<input type=text name=\"articulo[]\">";
echo 
"<input type=submit value=\"+\">";
?>
Si no quieres que se recarge la pagina, usa Javascript.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 15:25.