Article View: chile.comp.programacion
Article #1980Re: Evitar recarga de paginas
From: araguayo
Date: Thu, 13 Apr 2006 01:39
Date: Thu, 13 Apr 2006 01:39
42 lines
2605 bytes
2605 bytes
SorbitoL <ineira@veteerre.net> wrote: : Holas: : Estoy haciendo una aplicacion web (usando php,mysql,xhtml,javascript) , que : incluye varios formularios para mantener datos. : Me he dado cuenta de que al presionar el boton "recargar" del navegador : cuando se esta en una pagina a la que se accedio : luego de enviar un Form, el navegador intenta enviar nuevamente los datos : POST, lo cual me causa algunos problemas : en determinadas situaciones. : ?Existe alguna forma (me imagino con JavaScript) de restringir o el uso del : boton recargar, o bien tomar alguna medida para : evitar el reenvio de los datos POST cuando un usuario recargue una pagina? : gracias de antemano : Italo Neira En realidad la solucion no va por javascript (y nada relacionado con el browser, menos cuando la cosa tiene que ver con transacciones de plata y cosas por el estilo). Una posible solucion es: La primera vez, cuando generas la pagina que envia los datos via POST, creas un token (MD5 de la fecha con milisegundos por ejemplo) y lo colocas en un hidden. Adicionalmente guardas ese token en alguna parte (sesion por ejemplo) De vuelta del POST revisas si el token existe.. en este caso pueden pasar 2 cosas: * El token esta en tu lista, asi que lo borras y sigues con la ejecucion * El token no esta en tu lista, lo que puede significar, por ejemplo, que el usuario recargo la pagina o retrocedio e hizo submit denueo, etc. En ese caso puedes enviar un error o tratar que seguir de largo pero sin duplicar los datos, etc. ---- Ariel Aguayo B. (araguayo@dcc.uchile.cl) "Vale la pena morir por todo aquello sin lo cual no vale la pena vivir..." Salvador Allende.
Technical Details
Message-ID:
<e1ka41$jqv$1@helcaraxe.dcc.uchile.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.cec.uchile.cl!helcaraxe.dcc.uchile.cl!not-for-mailReferences:
<e1jtkj$fv1$1@news.nivel5.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,5c031e084ea2ac0a
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.cec.uchile.cl!helcaraxe.dcc.uchile.cl!not-for-mail
From: araguayo@dcc.uchile.cl
Newsgroups: chile.comp.programacion
Subject: Re: Evitar recarga de paginas
Date: Thu, 13 Apr 2006 01:39:13 +0000 (UTC)
Organization: DCC - Universidad de Chile
Lines: 42
Message-ID: <e1ka41$jqv$1@helcaraxe.dcc.uchile.cl>
References: <e1jtkj$fv1$1@news.nivel5.cl>
NNTP-Posting-Host: anakena.dcc.uchile.cl
X-Trace: helcaraxe.dcc.uchile.cl 1144892353 20319 192.80.24.6 (13 Apr 2006 01:39:13 GMT)
X-Complaints-To: newsmaster@dcc.uchile.cl
NNTP-Posting-Date: Thu, 13 Apr 2006 01:39:13 +0000 (UTC)
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (Linux/2.6.14-gentoo-r5 (i686))