Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como recuperar datos enviados por formulario

Estas en el tema de Como recuperar datos enviados por formulario en el foro de PHP en Foros del Web. Hola compañeros, tengo un problema que no se resolver y quisiera pedir vuestro consejo a ver cómo solucionarlo. Estoy desarrollando un carrito de la compra ...
  #1 (permalink)  
Antiguo 30/11/2011, 08:04
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 12 años
Puntos: 1
Como recuperar datos enviados por formulario

Hola compañeros, tengo un problema que no se resolver y quisiera pedir vuestro consejo a ver cómo solucionarlo.

Estoy desarrollando un carrito de la compra y todo va perfecto hasta que llego al formulario de enviar la compra, explico ...

En la página A.php se encuentra el formulario que envía la lista de compra a la página B.php (por POST) donde se procesa el pago, pero en el formulario de la página A.php incluyo también dos campos de texto para el nombre y email que rellena el cliente, los cuales recupero en la página B.php con el siguiente código:

session_start();
if(isset.....
'
'
$nombre_cl=$_POST['nombre'];
$correo_cl=$_POST['email'];
'
'
Bien hasta aquí todo perfecto, pero después del proceso de pago (por PayPal), paypal envía la página de descarga C.php de la compra al cliente y en tal página se debe incluir la lista de compra más el nombre y email del cliente, pero todos los datos son recuperados menos los dos recogidos por $_POST (nombre y email) .

Mi pregunta es ¿cómo puedo hacer para no perder los datos de los campos de texto y poder utilizarlos en toda la página?, he probado a poner campos ocultos y transferirles el valor de estos dos campos pero continúa apareciendo sólo en la página B pero en la C ya no aparecen (sólo esos dos).

¿Alguna idea o sugerencia?, espero haberme explicado bien.
Muchas gracias de ante mano.
  #2 (permalink)  
Antiguo 30/11/2011, 08:11
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 11 años
Puntos: 288
Respuesta: Como recuperar datos enviados por formulario

A ver vos cuando vas a paypal le envias una url de retorno
por lo que vos decis es www.url.com/c.php o algo asi
bueno vos antes de ir a Paypal generste una transaccion con id unico, entoces
www.url.com/c.php?id_transaccion=xxx es la url de retorno,

la transaccion SEGURAMENTE tiene los productos a comprar, el id del usuario comprador, etc. entonces con ese id ya tenes todos los datos, no te parece?
  #3 (permalink)  
Antiguo 30/11/2011, 10:29
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 12 años
Puntos: 1
Respuesta: Como recuperar datos enviados por formulario

Hola Patriarka, muchas gracias por contestar.

Bueno, puede que no me haya explicado del todo bien, pero como ya sabes, cuando se crea en PayPal un botón de "Comprar ahora" te da la posibilidad de poner una url para que el cliente sea redireccionado después de hacer el pago ¿si?, entonces esa sería la url (C.php) donde el cliente puede descargarse lo que acaba de pagar y simplemente desearía incluir en dicha url los datos de su compra incluyendo todos los productos, fecha más el nombre y dirección email (a nivel informativo), eso es todo pero no hay forma que me mantenga el nombre y email del cliente, aunque los demás datos si los recupera perfectamente sin problemas.

Aclaración:
El cliente no tiene que registrarse para comprar, solamente puede hacer su compra con su nombre y dirección de emal, una vez que ha pagado en PayPal, inmediatamente debería recibir su página de descarga reenviada por el propio comando de PayPal (C.php).

Saludos.

Última edición por silo; 30/11/2011 a las 10:35
  #4 (permalink)  
Antiguo 30/11/2011, 11:05
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 11 años
Puntos: 288
Respuesta: Como recuperar datos enviados por formulario

y bueno en c.php le pasas todos los datos que necesitas y lo volves hacer persistente:

c.php?id_transaccion=xxx&email=cliente_xxx&name_cl iente=pepe

y cuando volves a c.php

$id=$_GET['id_transaccion'];
$name=$_GET['email'];
$email=$_GET['name'];

$_SESSION['name']=$name;
$_SESSION['email']=$email;
  #5 (permalink)  
Antiguo 30/11/2011, 12:13
 
Fecha de Ingreso: enero-2010
Mensajes: 76
Antigüedad: 12 años
Puntos: 1
Respuesta: Como recuperar datos enviados por formulario

Bien, por fin lo he podido solucionar (confieso que php todavía me suena a chino) pero ahora me funciona y he hecho lo siguiente:

En la página A.php tenía el formulario donde enviaba los datos por POST.

En la página B.php abrí sesión normalmente con el siguiente código:

Código PHP:
Ver original
  1. <?php
  2. $cantidad=1;
  3. /* Recuperar lo que hay en el cariito */
  4. session_start('comprar');
  5. if(isset($_SESSION['comprar'])){
  6. $carritoactivo=$_SESSION['comprar'];
  7. }
  8.  
  9. ?>

Y para recuperarlo de la página C.php

Código PHP:
Ver original
  1. <?php
  2. $cantidad=1;
  3. /* Recuperando sesiones del comprador */
  4. $nombredelcliente = $_SESSION['nombredelcliente'];
  5. $correodelcliente = $_SESSION['correodelcliente'];
  6.  
  7. if(isset($_SESSION['comprar'])){

Y para ver las variables

Código PHP:
Ver original
  1. <p><?php print ("Nombre :" .$nombredelcliente);?></p>
  2. <p><?php print ("Correo :" .$correodelcliente);?></p>

No está muy fino pero funciona.

Muchas gracias a Patriarka por las recomendaciones que me han servido de mucho.

Última edición por silo; 04/12/2011 a las 08:31

Etiquetas: enviados, formulario
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 21:14.