Hacer un POST Dinamico en PHP [Hacer Post a dos paginas php]

Iniciado por Graphixx, 10 Septiembre 2014, 17:04 PM

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

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

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

MinusFour


Graphixx

Cita de: MinusFour en 10 Septiembre 2014, 17:19 PM
¿Que necesidad hay de hacer 2 POST?

Como puedes ver en el ultimo ejemplo de codigo, a mi me toco en un proyecto integrando una pasarela de pagos a un sistema de seguros, necesitaba enviar los datos al webservice de la pasarela al mismo tiempo que quedaran guardados en mi base de datos. Tambien puede ser util en sistemas donde a un usuario le guste tener backup de su informacion, ya que se pueden alimentar 2 bases de datos al mismo tiempo.
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

dimitrix





JorgeEMX

Cita de: dimitrix en 10 Septiembre 2014, 18:59 PM
La duda está clara... es síncrono o asincrono?

Síncrono. Y para hacer algo tan simple con CURL hubiera bastado, pero bueno.