Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/09/2011, 02:16
jeixuxspn
 
Fecha de Ingreso: noviembre-2010
Ubicación: Munich - Alemania
Mensajes: 76
Antigüedad: 13 años, 8 meses
Puntos: 7
Repetir un formulario

Hola compañeros,

Estoy realizando un proceso de guardado de datos con un formulario que tiene 2 campos (un input y un textarea), necesito que ese proceso se repita como máximo 2 veces más. Lo que hago exactamente es guardar texto, que tiene un titulo y el contenido de este, hay texto que ocupa una sola página y otros que ocupan 3 páginas, como no puedo cortar el texto o limitar el número de palabras que escribe el usuario, lo que hago es preguntar si necesita otro formulario y dependiendo de la respuesta guardo el formulario, o redirigo a otra página que tiene los mismos campos (titulo y contenido), este proceso lo repito una vez más.

El funcionamiento es el siguiente: cuando el usuario pulsa el botón de enviar, tengo un archivo en php, por ejemplo pregunta.php que recibe los datos por POST, ese mismo archivo tiene 2 formularios con dichas variables, lo que hago es ocultarlas con css (display:none), y mostrarle a el usuario solo 2 botonos (si o no) si la respuesta es afirmativa, lo redirijo a otro formulario arrastrando la variables del formulario anterior y así sucesivamente, si la respuesta es no guardo los datos recibidos hasta ese momento. Este proceso me parece demasiado largo, ya que necesito 5 archivos:

- Formulario 1
- Pregunta
- Formulario 2
- Pregunta
- Formulario 3

Me gustaría si se puede, realizar el proceso en un solo formulario, guardando los valores en un array y posteriormente recorriendo este. He intentado hacer varias pruebas pero no lo he conseguido, pongo algo del código por si alguna mente inspirada me puede hechar una mano. De antemano muchas gracias, y disculpád todo este tocho, he intentado explicarlo de la mejor manera posible:

<?php



if(isset($_POST['title']) && isset($_POST['content'])){
$i = 0;
while ($i < 2) {
$title = $_POST['title'];
$content = $_POST['content'];

//echo "$title<br>";
//echo "$content<br>";

$job[$i]['title'] = $title;
$job[$i]['content'] = $content;

$i++;
}


if($i == 3){
for ($j = 0; $j< 2; $j++){
echo "Datos del formulario: [$i]";
echo $job[$j]['title']."<br>";
echo $job[$j]['content']."<br>";
}
}

header("location: index.php?m=1");
}



?>

// En esta parte no se muy bien como hacerlo

<?php if(isset($_GET['m'])) {

echo "Necesita otra página ?";
//Aqui pondría algún enlace
?>
<div style="width: 350px; float:left;">
<form action="index.php" method=POST>
<input type="text" name="title" ><br>
<textarea name="content" cols=39 rows=6></textarea><br>
<input type="submit">

</form>
</div>

<?php }else{ ?>

<div >
<form action="index.php" method=POST>
<input type="text" name="title"><br>
<textarea name="content" cols=39 rows=6></textarea><br>
<input type="submit" value="Senden" style="float:left;">

</form>
</div>

<?php } ?>

Saludos,