RE: [PHP-ES] Evitar recarga
| From: | Pere Picornell | Date: | Fri, 28 May 2004 07:21:35 +0000 |
| Subject: | RE: [PHP-ES] Evitar recarga | ||
| References: | 1 | Groups: | php.general.es |
| Request: | Send a blank email to general-es+get-48990@lists.php.net to get a copy of this message | ||
Creo que ya se comentó en la lista, yo uso header siempre que mando
formularios. Es decir:
Index.php
Tiene un:
<form action=<? Echo $PHP_SELF ?> ........>
Con entre otras cosas, un
<input type=hidden... name=accio value=agregar_registro>.
Entonces en el principio de index.php (antes el tag <html>) le pongo
<?
If($accio=="agregar_registro){
If(!empty($nom) && !empty(....){
// operaciones necesarias
}
header("Location: $PHP_SELF");
}
?>
A parte, en el botón le pongo un script para que se autodeshabilite al
clicarlo, para evitar dobles clicks y esas cosas... (algo parecido a
onClick='self.disabled=true;submit();')
En el supuesto que desearas un control de errores para conservar los datos
correctos (en vez de decir "ha fallado algo, ahora vas y lo tecleas todo
otra vez"), en el control que hagas debes hacer simplemente un
header("Location= $PHP_SELF?nombre=$nombre&empresa=$empresa...");... en fin
a partir de ahí ya cada cual como guste.
----------------------------------------------------------------------------
Pere Picornell, Director de Projectes - p.picornell@mediactives.com
Mediactive Network - Serveis avançats d'Internet
www.mediactives.com - Tel.: 93 860 55 50 / Fax: 93 860 55 51
| -----Mensaje original-----
| De: Gustavo Castro [mailto:c_gustavo@intema.com.ar]
| Enviado el: martes, 25 de mayo de 2004 3:55
| Para: php-es@lists.php.net
| Asunto: RE: [PHP-ES] Evitar recarga
|
| Si estoy casi seguro que eso es asi, mi procedimiento es el siguiente,
|
| Formulario -> script que inserta -> Formulario (tambien puede ser a donde
| quieras ir).
|
| Desde el script al formulario reenvio.
|
|
| He tenido algun suceso desgraciado (que exagerado). Que un proceso script
| tardo mucho y el operador me mando F5 o retrocedio y volvio a pedir y se
me
| armo alguna cosita en la base, y eso que utilizando transacciones.
|
| Bueno es un temita que no resolvi, no se si les paso alguna vez. Es medio
| intrincado si desean lo comento en profundidad a ver si intercambiamos
| ideas.
|
|
| Saludos cordiales,
|
| Gustavo Castro
|
| -----Original Message-----
| From: Satyam [mailto:Satyam@satyam.com.ar]
| Sent: Jueves, 27 de Mayo de 2004 09:15 a.m.
| To: Jandro brozaman; php-es@lists.php.net
| Subject: Re: [PHP-ES] Evitar recarga
|
|
| Una forma que se me ocurre es que a la página de confirmación llegue a
| través de una redirección.
|
| Creo que los navegadores habitualmente recuerdan una redirección y usan
esa
| para responder a un refresco, pero no lo puedo asegurar.
|
| Si hay otra forma, me encantaría conocerla. O si alguien puede confirmar
mi
| sugerencia,
|
| Satyam
|
| ----- Original Message -----
| From: "Jandro brozaman" <aorviz2002@yahoo.es>
| To: <php-es@lists.php.net>
| Sent: Thursday, May 27, 2004 2:03 PM
| Subject: [PHP-ES] Evitar recarga
|
|
| > Hola a todos:
| >
| > Tengo un problemilla, que quizás alguien me sepa resolver. Tengo un
| formulario que al pulsar en el boton Guardar, me guarda logicamente la
| informacion en una base de datos, hasta aqui genial.
| >
| > El problema es que si el usuario pulsa F5 o da a recargar en el
navegador
| me lo vuelve a insertar.
| >
| > Por lo que quería saber como puede evitar esto, si puede ser con algún
| javascript que deshabilite el reload(), mejor, o con PHP de alguna forma,
no
| se, llevo media mañana dandole vueltas y buscando soluciones y no las
| encuentro. Sois mi última esperanza ;-)
| >
| > Un saludo a todos y gracias de antemano, Alex
| >
| >
| > ---------------------------------
| > Correo Yahoo!: 6MB, más protección contra el spam ¡gratis!
|
| --
| PHP Spanish Localization Talk Mailing List (http://www.php.net/)
| To unsubscribe, visit: http://www.php.net/unsub.php
|
| --
| PHP Spanish Localization Talk Mailing List (http://www.php.net/)
| To unsubscribe, visit: http://www.php.net/unsub.php