Foros del Web » Programando para Internet » PHP »

Eliminar los datos del POSTDATA

Estas en el tema de Eliminar los datos del POSTDATA en el foro de PHP en Foros del Web. Que tal foreros del web, tengo un pequeño problema, el caso es que no quiero que se reenvién los datos que tengo en el POSTDATA, ...
  #1 (permalink)  
Antiguo 10/04/2008, 10:50
 
Fecha de Ingreso: junio-2006
Mensajes: 39
Antigüedad: 17 años, 10 meses
Puntos: 0
Eliminar los datos del POSTDATA

Que tal foreros del web, tengo un pequeño problema, el caso es que no quiero que se reenvién los datos que tengo en el POSTDATA, es decir, a la hora de oprimir F5 para actualizar reenvía los datos y me causa problema porque estoy realizando cun carro de compras, al estar en el carro de compras, si actualizo la página, aunmenta la cantidad del producto, espero me halla explicado. Gracias.
  #2 (permalink)  
Antiguo 10/04/2008, 11:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Eliminar los datos del POSTDATA

guarda tus datos en base de datos, session o cookie... luego, redirecciona usando una header() hacia la misma URL... asi evitamos el reenvio... o tambien... con reset($_POST) ((es ultimo es experimental, solo divagaba))
  #3 (permalink)  
Antiguo 10/04/2008, 11:02
 
Fecha de Ingreso: junio-2006
Mensajes: 39
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Eliminar los datos del POSTDATA

Gracias pateketrueke, ahora mismo lo pruebo y lo comento
  #4 (permalink)  
Antiguo 10/04/2008, 14:28
 
Fecha de Ingreso: febrero-2006
Mensajes: 134
Antigüedad: 18 años, 2 meses
Puntos: 10
Re: Eliminar los datos del POSTDATA

También puedes usar un código de control en un hidden, o por url, así:

http :// tupaginawebchula.com/blabla/carrito/index.php?token=CODIGO_UNICO

para generarlo, basta
Código PHP:
$TOKEN uniqid(); 
Puedes hacer esto (en el inicio del script)

Código PHP:
// Suponemos que se ha hecho un session_start();
if(!isset($_SESSION['token'])) // Primera consulta
$_SESSION['token'] = false;

$_SESSION['oldtoken'] = $_SESSION['token'];
$_SESSION['token'] =& $TOKEN uniqid();

if(!isset(
$_GET['token']) && !isset($_GET['token'+)) {
// no pasa nada, es la primera petición y todo está correcto.
} elseif(isset($_GET['token'])) {
  
// Validamos el token:
  
if($_GET['token'] != $_SESSION['oldtoken']) { $_GET = array(); $_POST = array(); }
  
// Puedes borrar solo algunos campos, si lo prefieres
} elseif(isset($_POST['token'])) {
  
// Validamos el token:
  
if($_POST['token'] != $_SESSION['oldtoken']) { $_GET = array(); $_POST = array(); }
  
// Puedes borrar solo algunos campos, si lo prefieres
} else {
  die(
'es imposible que esto llegue a suceder');

__________________
Si te ha gustado lo que he dicho, puedes darme algún punto de reputación, que no te cuesta nada ^_^.

Di no a los juicios de valor!
  #5 (permalink)  
Antiguo 10/04/2008, 14:54
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Eliminar los datos del POSTDATA

Como dijo pateketrueke,
con usar sesiones y redireccionar con header() es más que suficiente y eficiente.

Saludos
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 10:18.