Foros del Web » Programando para Internet » PHP »

Dividir Formularios

Estas en el tema de Dividir Formularios en el foro de PHP en Foros del Web. ok estuve buscando por foros y por este foro tambien.. tienen posts que dicen algo pero ninguno dice como dividir un formulario y que esos ...
  #1 (permalink)  
Antiguo 25/06/2005, 20:53
Avatar de JiribOSO  
Fecha de Ingreso: enero-2005
Mensajes: 3
Antigüedad: 19 años, 3 meses
Puntos: 0
Dividir Formularios

ok estuve buscando por foros y por este foro tambien.. tienen posts que dicen algo pero ninguno dice como dividir un formulario y que esos datos que se escribieron en la primera parte del formulario se salven en la base de datos... y que uno de esos datos (ej: id) pase a la otra pagina y con ese dato poder terminar de llenar un formulario que obviamente es muy largo y por ello quiero dividirlo...

antes de querer yo dividir este formulario el trabajaba perfecto... guardaba lo que necesitaba en la base de datos... pero ahora en el action del formulario le tiro la pagina a la que quiero que vaya y le mando el campo que necesito para esa proxima pagina .....

Probe dandole un echo en la proxima pagina a ver si se trae lo que se escribio en ese campo en la pagina anterior y me lo trae perfecto.. entonces termino de llenar el 2do formulario y lo mando a guardar y voy a revisar mi bd y se guardo es puros NULL

alguien sabe cual seria el problemita??

emmmmmmmm

sera que en vez de tirarlo con un submit lo lanzo con un link??
debido a que es como una division...que me dicen????

pero y si no quiero ir al otro formulario sigo con la tonica de un link??

Auxilio...
y si asi sirve... diganme si hay otra forma....

Gracias
  #2 (permalink)  
Antiguo 26/06/2005, 03:37
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
.. ¿no te sirvió la FAQ?; http://www.forosdelweb.com/showthrea...576#post360576

Respècto a que lo haz intentado... bien que lo explicaste... pero creo se hubiese entendido mejor con código ... Adivinando un poco... no puedes (no debes) poner variables en el action; traduscase, esto esta mal: action="pagina.php?id=XX". Dichas "variables" (valores en realidad) debes pasarla como otro campo, oculto si quieres... pero como cualquier elemento del formulario: <input type="hidden" name="id" value="XX"> ... creo así lo manejan en la FAQ que te dejé... debería .

Saludos y bienvenido
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 26/06/2005, 09:44
Avatar de JiribOSO  
Fecha de Ingreso: enero-2005
Mensajes: 3
Antigüedad: 19 años, 3 meses
Puntos: 0
pregunto...

la cuestion es que soy algo asi como nuevo en PHP...

si tu mandas el formulario con el submit asi no tengas query del SQL para guardar en la base de datos todos esos campos que llene del formulario pasan al siguiente formulario?? y despues al hacer el query en el ultimo formulario le tiro todos los campos con el $_GET??? y $_POST a los campos del ultimo formulario?
  #4 (permalink)  
Antiguo 27/06/2005, 01:02
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
....

No capté bien lo que planteas... pero... veamos. Un formulario solo sirve para enviar datos, NO para recojer... ésto último lo hace PHP y las variables globales $_POST ó $_GET según el method de dicho form.

Tu planteas el cómo pasar valores de un formulario a otro... pués la cuestión es que, si en donde recibes tendrás igual un formulario, puedes imprimir los valores a pasar como elementos del dicho formulario...... Repito: "un formulario no es para recojer datos"... respondiendo a tu pregunta, tú le asignas esos valores a ser pasados... todos si quieres ó solo algunos.. eso depende de tí.

Hagamos un ejercicio :

inicio.html:
Código HTML:
<form method="post" action="intermedio.php">
Id: <input type="text" name="id" size="5">(Este dato solo lo pasaremos.)<br>
Guardar: <input type="text" name="guardar"> (Este lo guardaremos al darle submit().)<br>
Pentiente: <input type="text" name="final"> (Este lo guardaremos hasta el final) <br>
<input type="submit" value="Enviar">
</form> 
intermedio.php (recibimos de inicio.html):
Código PHP:
<?php
// Acá recojemos todos los datos del form por POST... con ello hacemos lo que queramos
echo "INSERT INTO tabla VALUES('".$_POST['guardar']."')";
// como solamente guardar un dato.. los demás serán pasados al siguiente form
echo "<br><p><b>Dato guardado</b></p>";
?>
<form method="get" action="final.php">
<input type="hidden" name="id" size="5" value="<?=$_POST['id'?>"><br>
Nuevo Pendiente: <input type="text" name="final2"><br>
Pendiente Recojido: <input type="text" name="final" value="<?=$_POST['final'?>" readonly><br>
<input type="submit" value="Finalizar">
</form>
final.php (venimos de intermedio.php):
Código PHP:
<?php
// recibimos los datos del form de intermedio.php ... por GET (ve los method)
echo "id: ".$_GET['id']."<br>";
echo 
"INSERT INTO tabla VALUES('".$_GET['final']."', '".$_GET['final2']."')";
echo 
"<br>Hemos terminado";
?>
Espero quede más claro... tubimos un formulario inicial, fueron enviados a intermedio.php, ahí guardamos un dato y pasamos los otros dos a el formulario de ese script... uno oculto otro visible.. no importa el cómo, solo importa que sean elementos de dicho form para que vuelvan a ser enviados... añadimos otros campos a el formulario para que veas que es un formulario común y corriente... OJO, los valores fueron recibidos con PHP. En final.php recojemos el segundo formulario... cambiamos de method para que veas que no importa el cómo, solo deben tener coerencia...

... y solo como información... ¿qué pasa cuando quieres pasar valores entre páginas sin ocupar formularios???; trabajamos con sesiones... visita las FAQ para más info... quizá te intereze; solo respondo a lo que planteas.

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 27/06/2005, 18:01
Avatar de JiribOSO  
Fecha de Ingreso: enero-2005
Mensajes: 3
Antigüedad: 19 años, 3 meses
Puntos: 0
perfecto entiendo ahora pero la cuestion amigo es que ahora pierdo todas las validaciones de los campos (que si no pueden estar en blanco o que tiene que escribir puros numeros etc).... no me las toma en cuenta...

las deje en la pagina del formulario grande y no las toima en cuenta y si las llevo al formulario siguiente me da error
  #6 (permalink)  
Antiguo 27/06/2005, 22:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
¿qué haces?, ¿qué tienes? ¿qué error?... ¿qué formulario grande?
http://www.forosdelweb.com/f18/como-preguntar-foro-php-cosas-tener-cuenta-295415/

... Una validación PHP se hace a el momento de recibir... si ya lo tienes hecho no debería costarte implementarlo... en el ejercicio que planteé intermedio.php tendrá que validar los datos de inicio.html y final.php tendrá que validar a intermedio.php...

Como información, quizá digas "para qué validar los datos que vienen desde inicio.php en final.php a travez de intermedio.php"???; ni yo me entendí . La cuestión es que una página enntregada es violable en cuanto a seguridad... es recomendable siempre valides cualquier dato recibido por parte del usuario aunque dicho dato tú mismo lo estés mandando... me refiero a el campo oculto y el de solo lectura en el ejercicio... Claro, tú valorarás que tan necesaria es la seguridad en tu aplicación por el trabajo que representa ... ... ni tanto...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 22:10.