Foros del Web » Programando para Internet » PHP »

insertar primero datos en una tabla y luego dirigirse a una pagina

Estas en el tema de insertar primero datos en una tabla y luego dirigirse a una pagina en el foro de PHP en Foros del Web. Buenas tardes a todos. Estoy realizando una pasarela de pago y parece que me estoy confundiendo al grabar primero y luego enviar otros datos a ...
  #1 (permalink)  
Antiguo 03/12/2007, 17:31
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
insertar primero datos en una tabla y luego dirigirse a una pagina

Buenas tardes a todos.

Estoy realizando una pasarela de pago y parece que me estoy confundiendo al grabar primero y luego enviar otros datos a otra pagina

Supongamos que estoy en la pagina :
recoge_valores.php, en la cual tengo:

Código PHP:
$url_pasarela='https://www.xxbanco.es';

<form action="<?=$url_pasarela?>" method="post" name="frm_compra" onsubmit="grabar_documento_pasarela(<?=$var_codigo?>,<?=$total_cesta?>); return false">

<input name="referencia" type="hidden" value="<?=$auto_id;?>">
<input name="nombre" type="hidden"     value="<?=$var_nombre;?>">
<input name="apellidos" type="hidden"    value="<?=$var_apellidos;?>">
<input name="importe" type="hidden"     value="<?=$var_nif;?>">                    
<input type="submit" name="Submit" value="Enviar" >
 </form>
y en Javascript tengo :

function grabar_documento_cofidis(var_codigo,total_cesta,){

// Coloco los alert para ver si llegan correctamente el valor de las variables
// y veo que estas variables las recogo bien

alert(var_codigo);
alert(total_cesta);

// me dirijo a la pagina registro.php

document.location.href = "registro.php?a="+var_codigo+"&b="+total_cesta ;
return;
}

registro.php
Código PHP:

$v_id_cliente
=$_POST['a'];
$v_total=$_POST['b'];


$docum = new Documento$v_id_cliente,  $v_total, .......);
$docum->guardar(); 
hasta aca todo bien; me inserta los datos en la tabla Documentos....


Pero el "CHISTE" radica que ahora tengo que dirigirme al action del form, es decir a:
'https://www.xxbanco.es' el cual esta pagina recibira via POST lo parametros :

referencia, nombre, apellidos,nif, etc.....

<input name="referencia" type="hidden" value="<?=$auto_id;?>">
<input name="nombre" type="hidden" value="<?=$var_nombre;?>">
<input name="apellidos" type="hidden" value="<?=$var_apellidos;?>">
<input name="importe" type="hidden" value="<?=$var_nif;?>">

.. y solo se me queda en el pagina donde grabo el documento, es decir, en registro.php.

Donde puede estar el problema ????? ¿Sera en la funcion javascript o en que archivo html?


En otras palabras, como puedo grabar primero en una tabla con valores x,y,z(esto ya me lo hace bien), y luego irme a la pagina 'https://www.xxbanco.es' el cual recibira los parametros: referencia, nombre, apellidos, nif, etc.....,

Gracias y saludos.
  #2 (permalink)  
Antiguo 03/12/2007, 17:51
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Re: insertar primero datos en una tabla y luego dirigirse a una pagina

para eso puedes usar $_request aunque no creo que tu problema sea mucho rollo osea haces muchos pasos y no logro entender muy bien tu objetivo
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 04/12/2007, 10:24
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Re: insertar primero datos en una tabla y luego dirigirse a una pagina

A ver me explico mejor.

El proceso es el siguiente:
Primero.- Producto de una consulta obtengo varios parametros, y estos parametros los grabo en una tabla, hasta aqui todo bien.

Segundo
Luego una vez de grabar en la tabla se me debe dirigir a https://www.xxbanco.es y esta entidad deberá recoger via post ciertas variables, el poblema es como me dirijo a esa pagina.

En mi primer post explico que es lo que estoy realizando, pero no encuentro la solucion, a ver si alguien me podria ayudar.

Saludos a todos.
  #4 (permalink)  
Antiguo 04/12/2007, 10:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: insertar primero datos en una tabla y luego dirigirse a una pagina

Para enviarlos via POST, necesitas usar la libreria cURL para hacer un request.

Saludos.
  #5 (permalink)  
Antiguo 04/12/2007, 11:28
 
Fecha de Ingreso: octubre-2003
Mensajes: 55
Antigüedad: 20 años, 7 meses
Puntos: 0
De acuerdo Re: insertar primero datos en una tabla y luego dirigirse a una pagina

Lo que pretendes es reenviar nuevamente a la página los datos una vez grabados en la tabla.

Deberías pasarlos por la url
en vez de pasar los datos via POST del form como tu código lo haría

Mándalos vía URL (GET)

Código PHP:
// acá va el codigo de tu rutina de insersión en la tabla
...
...
...
// suponiendo que todos los datos están bien y no hay errores
// lo mandas así a la página que quieras por ejemplo:  index.php

header ("Location: index.php?auto=".$auto_id."&nombre=".$var_nombre."&apellidos=".$var_apellidos."&$nif=".$var_nif); 
exit(); 
Después recojes las variables en index.php:
Código PHP:
echo $_GET["auto"];
echo 
$_GET["nombre"];
echo 
$_GET["apellidos"];
echo 
$_GET["nif"]; 

La ventaja de esto es que la página se redirecciona automáticamente pero debes tener cuidado en no mandar nada por pantalla ni dejar líneas en blanco antes de la etiqueta header

Saludos
  #6 (permalink)  
Antiguo 05/12/2007, 02:16
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Re: insertar primero datos en una tabla y luego dirigirse a una pagina

PERFECTO.

Eso era lo que necesitaba, lo habia pensado antes, lo que pasa que esta entidad financiera en su manual, decia que los parametros los recibiria por el metodo POST, pero probe enviandolos por el metodo GET como sugeristes y me los recibio correctamente...... vaya entidad financiera.... ?????

Salu2.
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 17:38.