Cantidad de campos en un formulario, dependiendo de número enviado por $_POST['']
Ayer alguien preguntaba en Foros del Web, que cantidad de campos poner en un formulario dependiendo de un numero enviado por $_POST[''] desde otro formulario, y se me ocurrio que con un bucle while se podía solucionar este pequeño problema, y al final quedamos que con el siguiente código marchaba bien:
<?php
if (isset($_POST['enviar']) && $_POST['enviar'] == 'enviar'){
$campos = $_POST['campos'];
$i = 1;
$field = "<input type='text' name='nombreCampo'><br>";
echo "<form name='nuevoForm'>";
while ($i <= $campos){
print $field;
$i++;
}
echo "</form>";
}
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="POST" name="form">
cantidad de campos<br>
<input type="text" name="campos">
<input type="submit" name="enviar" value="enviar">
</form>
Pero justo anoche mientras trabajaba en mi casa, me di a la tarea de echar una ojeada al Manual de PHP y encontré que hay una forma mucho mas sencilla y ligera de hacer esto mismo, usando la función de cadena str_repeat, y finalmente el código quedó así:
<?php
if(isset($_POST['enviar']) && $_POST['enviar'] == 'enviar'){
$campos = $_POST['campos'];
echo "<form name='nuevoForm'>";
echo str_repeat("<input type='text' name='nombreCampo'><br>", $campos);
echo "</form>";
}
?>
De esta manera, nos evitamos el bucle, ahorramos unas cuantas lineas de código y no se consume tanto en el servidor.
Espero esto les sea útil.
Saludos y Suerte
Post relacionados
No hay comentarios »
RSS feed para comentarios en este post. TrackBack URL


