Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Graphixx en 10 Septiembre 2014, 17:04 PM

Título: Hacer un POST Dinamico en PHP [Hacer Post a dos paginas php]
Publicado por: Graphixx en 10 Septiembre 2014, 17:04 PM
(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 (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 (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");
Título: Re: Hacer un POST Dinamico en PHP [Hacer Post a dos paginas php]
Publicado por: MinusFour en 10 Septiembre 2014, 17:19 PM
¿Que necesidad hay de hacer 2 POST?
Título: Re: Hacer un POST Dinamico en PHP [Hacer Post a dos paginas php]
Publicado por: Graphixx en 10 Septiembre 2014, 18:33 PM
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.
Título: Re: Hacer un POST Dinamico en PHP [Hacer Post a dos paginas php]
Publicado por: dimitrix en 10 Septiembre 2014, 18:59 PM
La duda está clara... es síncrono o asincrono?
Título: Re: Hacer un POST Dinamico en PHP [Hacer Post a dos paginas php]
Publicado por: JorgeEMX en 14 Septiembre 2014, 06:14 AM
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.