Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: alexdefelipe en 4 Abril 2012, 22:23 pm



Título: ¿Como enviar a dos páginas distintas los datos de un formulario en HTML?
Publicado por: alexdefelipe en 4 Abril 2012, 22:23 pm
Hola. Llevo toooooda la tarde de hoy tratando de encontrar una respuesta a esta pregunta. No exagero xD. Tengo 3 archivos. Dos PHP y uno HTML. El de HTML contiene un formulario y al hacer clic sobre un botón quiero que envíe los datos a los archivos PHP y no solo a uno (si pongo lo de <form action="archivo1.php" /> solo me lo envía a uno, y yo quiero a dos). He visto un porrón de scripts que o no me han servido o no he sabido usarlos... Bueno, ¿alguien puede ayudarme? Os estaré eternamente agradecido!! xD

Gracias por vuestra atención :D


Título: Any
Publicado por: any en 6 Abril 2012, 03:14 am
 >:(


Título: Re: ¿Como enviar a dos páginas distintas los datos de un formulario en HTML?
Publicado por: raul338 en 6 Abril 2012, 03:18 am
Yo te pregunto, cual de los 2 PHP va a responder? :P

Podes hacer "include (archivo2.php)" y listo


Título: Any
Publicado por: any en 6 Abril 2012, 03:26 am
 >:(


Título: Re: ¿Como enviar a dos páginas distintas los datos de un formulario en HTML?
Publicado por: Graphixx en 8 Abril 2012, 03:01 am
(http://www.starthack.com/file_struct/uploads/2012/03/PHP-Simultaneous-GET-and-POST.png)

A mi me parece mejor solucion hacer otro post de forma dinamica, usa la libreria request.php
Fuente: http://www.ammeza.com/2010/05/22/hacer-un-post-en-php/

Código
  1. 1 require_once 'Request.php';
  2. 2 $request = new Request();
  3. 3 $params = array("nombre" => "Pepe", "apellido" => "Mackoy");
  4. 4 $request->setParams($params);
  5. 5 $request->forward("destino.php");
  6.  

lo que yo haria es meter en el primer php (archivo1.php) despues de hacer las consultas MYSQL o lo que tengas que hacer con las variables que llegan, enviar el POST Dinamico de request hacia el segundo php (archivo2.php).

Otra alternativa es que aparte de hacer el POST normal, construyeras otro enlace GET hacia el segundo formulario.

Otra alternativa es que cuando las variables lleguen al primer php, las guardes en variables de session y asi estarian disponibles para ilimitados scripts donde las necesitaras.


Otra alternativa seria que dotaras de javascript a cada campo del formulario, y cuando el campo pierda el foco, el valor se duplique hacia un formulario con todos los campos tipo "hidden" y que cuando se haga submit del primer formulario se active automaticamente el submit del otro formulario hidden.


Otra opcion:
Código
  1. if($_SERVER['REQUEST_METHOD'] == 'POST') {
  2.    switch ($_POST['action']) {
  3.        case 'action1':
  4.             // do something
  5.        break;
  6.        case 'action2':
  7.             // do something
  8.        break;
  9.    }
  10. }
  11.  
  12.  


Otra opcion: http://stackoverflow.com/questions/4354771/php-post-multiple-actions/4356849#4356849


Título: Re: ¿Como enviar a dos páginas distintas los datos de un formulario en HTML?
Publicado por: Graphixx en 26 Noviembre 2013, 04:00 am
Como ya murio la web que tenia la libreria request, la subo a Mega:
https://mega.co.nz/#!VtY0CIJQ!bUs-PmqMINQSy5_N7ZrSYXxufJNry0czTt9X1d8g5Ws (https://mega.co.nz/#!VtY0CIJQ!bUs-PmqMINQSy5_N7ZrSYXxufJNry0czTt9X1d8g5Ws)

Y dejo otro ejemplo de como se usa la libreria:

Código
  1.   require_once 'Request.php';
  2.        //Se envian los parametros capturados hacia zona pagos.
  3.    $request = new Request();
  4.        $request->addParam("total_con_iva", $_precio_clase);
  5.        $request->addParam("valor_iva", 0);
  6. $request->addParam("Id_pago", $_id_pago); //num max 13 caracteres
  7. $request->addParam("descrip_pago", $_nombre_clase); //concepto del pago que realizara el cliente
  8. $request->addParam("Txtemail", $_email); //email del cliente
  9. $request->addParam("Id_cliente", $_num_doc); //nit o cedula del cliente
  10. $request->addParam("tipo_id_cliente", $_tipo_doc); //nit o cedula del cliente
  11. $request->addParam("nombre_cliente", $_nombres); //max 50
  12. $request->addParam("apellido_cliente", $_apellidos); //max 50
  13. $request->addParam("telefono_cliente", $_telefono); //max 50
  14.        $request->forward("https://zonapagos.com/t_consorcio2/pago.asp?estado_pago=enviar_datos");
  15.  


Título: Re: ¿Como enviar a dos páginas distintas los datos de un formulario en HTML?
Publicado por: #Aitor en 20 Diciembre 2013, 11:35 am
Bueno, primero que nada ¿Para qué quieres enviar datos de un formulario a dos .php?

Si tu intención por ejemplo, supongamos que tienes un formulario con dos campos de texto para introducir user y password, y quieres que el primer .php te logee, y el segundo almacene los datos ingresados...

¿No sería mucho más fácil hacer todo eso con un .php?

Una opción como te dijeron arriba es usar el this.form.action pero eso significaría crear dos sumbit y creo que no es lo que buscas...

¡Un saludo!