¿Como enviar a dos páginas distintas los datos de un formulario en HTML?

Iniciado por alexdefelipe, 4 Abril 2012, 22:23 PM

0 Miembros y 1 Visitante están viendo este tema.

alexdefelipe

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

any

Any
#1
 >:(

raul338

Yo te pregunto, cual de los 2 PHP va a responder? :P

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

any

Any
#3
 >:(

Graphixx



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 (php) [Seleccionar]

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


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 (php) [Seleccionar]

if($_SERVER['REQUEST_METHOD'] == 'POST') {
   switch ($_POST['action']) {
       case 'action1':
            // do something
       break;
       case 'action2':
            // do something
       break;
   }
}





Otra opcion: http://stackoverflow.com/questions/4354771/php-post-multiple-actions/4356849#4356849
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

Graphixx

Como ya murio la web que tenia la libreria request, la subo a Mega:
https://mega.co.nz/#!VtY0CIJQ!bUs-PmqMINQSy5_N7ZrSYXxufJNry0czTt9X1d8g5Ws

Y dejo otro ejemplo de como se usa la libreria:

Código (php) [Seleccionar]

   require_once 'Request.php';
        //Se envian los parametros capturados hacia zona pagos.
    $request = new Request();
        $request->addParam("total_con_iva", $_precio_clase);
        $request->addParam("valor_iva", 0);
$request->addParam("Id_pago", $_id_pago); //num max 13 caracteres
$request->addParam("descrip_pago", $_nombre_clase); //concepto del pago que realizara el cliente
$request->addParam("Txtemail", $_email); //email del cliente
$request->addParam("Id_cliente", $_num_doc); //nit o cedula del cliente
$request->addParam("tipo_id_cliente", $_tipo_doc); //nit o cedula del cliente
$request->addParam("nombre_cliente", $_nombres); //max 50
$request->addParam("apellido_cliente", $_apellidos); //max 50
$request->addParam("telefono_cliente", $_telefono); //max 50
        $request->forward("https://zonapagos.com/t_consorcio2/pago.asp?estado_pago=enviar_datos");
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

#Aitor

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!
Mi algoritmo en PHP (estupideces y más).
Código (php) [Seleccionar]
while($Se_feliz){
  Piensa_un_OBJETIVO(); // Sin excusas!
  if($Tienes_un_objetivo){
    Suspira(); // Sé paciente.
    if($Consigues_el_objetivo){ echo "¡Felicidades #Aitor!";return;
      //RETURN; ¿O volvemos a empezar?
    }else{
      Inténtalo_de_nuevo();
    }
  }
}