Foros del Web » Programando para Internet » Javascript »

Ejecutar php antes de un submit

Estas en el tema de Ejecutar php antes de un submit en el foro de Javascript en Foros del Web. Hola, estoy implementando una pasarela de pago y me gustaría guardar información del pedido antes de salir de mi aplicación e ir al portal donde ...
  #1 (permalink)  
Antiguo 21/03/2007, 03:30
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Pregunta Ejecutar php antes de un submit

Hola, estoy implementando una pasarela de pago y me gustaría guardar información del pedido antes de salir de mi aplicación e ir al portal donde se paga. Entonces, ¿es posible ejecutar un script php antes de realizar un submit de un formulario?
  #2 (permalink)  
Antiguo 21/03/2007, 06:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 11
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Ejecutar php antes de un submit

Lo que deberías hacer es crear un script que recibe los datos del portal de pago y los que tu necesites para modificar la base de datos.
En este script, primero modificas los datos y luego redireccionas al portal de pago mediante:

Código PHP:
header("Location: laurldepago"); 
Si lo haces mediante Ajax, iframes o cualquier otra cosa, no te aseguras que los datos se actualicen antes del pago.

Saludos
  #3 (permalink)  
Antiguo 21/03/2007, 07:40
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Ejecutar php antes de un submit

El problema es que para ir al portal de pago hay que hacerlo con un POST.
  #4 (permalink)  
Antiguo 22/03/2007, 02:23
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Ejecutar php antes de un submit

Sigo con esta duda. ¿Alguien sabe decirme si es posible?
  #5 (permalink)  
Antiguo 22/03/2007, 03:33
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Re: Ejecutar php antes de un submit

Se me ocurre que mandes el formulario a la página php que haga lo que tenga que hacer y que cree un formulario de campos ocultos con los datos que quieres mandar a la pasarela de pago y que haga un submit automático con un:

<body onload="document.forms[0].submit()">

Y para poner todos los campos de forma automático puedes hacer:

<form action="pasarela.php">
<?
foreach($_POST as $key => $value){

echo '<input type="hidden" name="'.$key.'" value="'.$value.'">';
}
?>
</form>

El resultado de la página sería:

Código PHP:
<?
TU SCRIPT PHP
?>
<html>
<head>
</head>
<body onload="document.forms[0].submit()">
<form method="post" action="pasarela.php">
<?
foreach($_POST as $key => $value){

echo 
'<input type="hidden" name="'.$key.'" value="'.$value.'">';
}
?>
</form>
</body>
</html>
Dime si te sirve!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 22/03/2007, 05:18
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Ejecutar php antes de un submit

Buena idea, Karlankas! No se me había ocurrido. Lo probaré. Muchas gracias.
  #7 (permalink)  
Antiguo 22/03/2007, 05:21
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Re: Ejecutar php antes de un submit

Igual no es la forma más elegante, pero espero que sea eficaz. Aquí estamos para lo que quieras!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 18:43.