Foros del Web » Programando para Internet » PHP »

¿Puedo enviar un formulario sin que el usuario pulse en enviar?

Estas en el tema de ¿Puedo enviar un formulario sin que el usuario pulse en enviar? en el foro de PHP en Foros del Web. Buenas, Tengo un formulario en javascript que me han pasado que contiene datos sensibles, que se envían a través de POST a un servidor externo. ...
  #1 (permalink)  
Antiguo 28/10/2009, 16:06
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Buenas,

Tengo un formulario en javascript que me han pasado que contiene datos sensibles, que se envían a través de POST a un servidor externo.

Mi idea es transformarlo en PHP y que en lugar de enviar los datos sensibles directamente al servidor externo, solo tengas que rellenar los datos justos y que ese formulario lo envíe a un script que procese el formulario. Este script que procesa el formulario es el que acaba de rellenar los datos del formulario introduciendo los datos sensibles (como claves, etc...) y lo envía todo al servidor externo.

¿Se puede hacer?

La primera parte la veo fácil, pero la segunda... cómo le digo al script que procesa el formulario, que envíe un formulario más grande que he rellenado con los datos de la página anterior y los datos "confidenciales" y haga el envío por POST al servidor externo?

Muchas gracias de antemano!

Aclarar que he descartado el envío de los datos sensibles desde el formulario inicial, por el campo hidden. Y lo que haré, como describía arriba, es enviar estos datos sensibles por variables de sesión al script que procesa el formulario.

Pero mi duda sigue estando ahí, como envío desde el script que procesa el formulario, otro formulario con los campos "sensibles" ya introducidos en él, a un servidor externo?

Gracias de antemano!

Última edición por GatorV; 29/10/2009 a las 09:09
  #2 (permalink)  
Antiguo 28/10/2009, 17:35
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: ¿Puedo enviar un formulario sin que el usuario pulse en enviar?

Mira te entiendo pero no mucho, me puedes dar algun ejemplo como para ver si te puedo ayudar
  #3 (permalink)  
Antiguo 29/10/2009, 09:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: ¿Puedo enviar un formulario sin que el usuario pulse en enviar?

Lee lo siguiente: http://www.forosdelweb.com/f18/aport...equest-724214/
  #4 (permalink)  
Antiguo 29/10/2009, 09:33
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: ¿Puedo enviar un formulario sin que el usuario pulse en enviar?

creo q se utiliza algo asi:

<body onload="nombreform.submit()">
  #5 (permalink)  
Antiguo 29/10/2009, 17:35
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: ¿Puedo enviar un formulario sin que el usuario pulse en enviar?

Cita:
Iniciado por GatorV Ver Mensaje
He leido el enlace GatorV, sin embargo no se que hago mal, en principio, entiendo que me lo has pasado porque puedo enviar los datos a una URL por POST mediante CURL, correcto?

Este es el código que utilizo para enviar por POST los datos al servidor y no me muestra ningun error ni por pantalla ni en el fichero de logs

Código php:
Ver original
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. </head>  
  5. <body >
  6.  
  7. <?
  8. $url = "https://sis.sermepa.es/sis/realizarPago"; // escrbe aqui la url de tu formulario
  9. $ch = curl_init(); // Inicializo el handler de Curl
  10.  
  11. //Seteo las opciones para el envio
  12. curl_setopt($ch, CURLOPT_URL,$url); // Url a donde se va a postea.
  13. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'); //Seteo el user Agent en este caso es el navegador firefox 2
  14. curl_setopt($ch, CURLOPT_FAILONERROR, 1); //terminar en caso de error
  15. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// Permitir Redirecciones
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // Retornar la pagina de resultados en una variable
  17. curl_setopt($ch, CURLOPT_TIMEOUT, 10); //timeout.
  18. curl_setopt($ch, CURLOPT_POST, 1); // SETEAR el Envio por POST
  19.  
  20. /* valores TPV */
  21. $postvalue['Ds_Merchant_Order'] = '12421415'; //Pedido
  22. $postvalue['Ds_Merchant_Amount'] = '1000'; //Importe
  23. $postvalue['Ds_Merchant_Currency'] = '978'; //Moneda
  24. $postvalue['Ds_Merchant_MerchantCode'] = 'xxxxxx'; // FUC
  25. $postvalue['Ds_Merchant_MerchantName'] = 'xxxxxxxxxxxxx'; // Comercio
  26. $postvalue['Ds_Merchant_ConsumerLanguage'] = '1'; //Idioma
  27. $postvalue['Ds_Merchant_Terminal'] = '1'; //Terminal
  28. $postvalue['Ds_Merchant_MerchantSignature'] = 'xxxxxxxx'; //Clave
  29. $postvalue['DS_Merchant_TransactionType'] = '0'; //Tipo de transaccion
  30.  
  31. curl_setopt($ch, CURLOPT_POSTFIELDS, $postvalue); //cambia aqui por tu nombre de formulario y datos
  32. $result = curl_exec($ch); // Ejecutar el envio por post.
  33. curl_close($ch); // Cierro la consulta
  34.  
  35. $header['errno']   = $err;
  36. $header['errmsg']  = $errmsg;
  37. $header['content'] = $content;
  38.  
  39. print_r($header);
  40.    
  41. ?>
  42. </body>
  43. </html>

Array ( [errno] => [errmsg] => [content] => )

¿Qué estoy haciendo mal?

Muchas gracias de antemano
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 07:29.