Foros del Web » Programando para Internet » PHP »

Se me ejecutan las consultas de nuevo al dar atras...!!

Estas en el tema de Se me ejecutan las consultas de nuevo al dar atras...!! en el foro de PHP en Foros del Web. Saludos al foro .. Tengo inconveniente al momento de realizar una consulta de insercion .. al navegar con los botones del navegados .. se me ...
  #1 (permalink)  
Antiguo 27/02/2006, 06:35
 
Fecha de Ingreso: agosto-2003
Ubicación: Medellín
Mensajes: 20
Antigüedad: 20 años, 8 meses
Puntos: 0
Se me ejecutan las consultas de nuevo al dar atras...!!

Saludos al foro ..

Tengo inconveniente al momento de realizar una consulta de insercion .. al navegar con los botones del navegados .. se me ejecuta de nuevo la consulta ingresando tantos registros como veces pase por esa pagina .. hay alguna forma de borrar las variables, sin borras las de sesion ..

Agradezco de antemano su colaboracion ..
  #2 (permalink)  
Antiguo 27/02/2006, 07:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Muestra el código que usas .. lo mas probable es que tengas un problema de estructura.

Para evitar el problema que mencionas en general .. todo proceso PHP debe estar separado de la parte que presente algún mensaje de error/exito .. en el mismo flujo del script.

Por ejemplo hacer algo típo:
Código PHP:
<?
$query
=mysql_query("INSERT ....");
if (
$query){
  echo 
"todo fué bien ...";
} else {
  echo 
"hay problemas";
}
Ese tipo de construcciones se prestan a que si recargas la página o llegas a esa página por tu historial del navegador .. originas una nueva ejecución de ese código PHP que en tu caso hace un "insert" a una BBBDD. (podría ser envio de un e-mail .. o cualquier otro proceso).

Para solventar el problema .. tu script o sección del mismo que ejecute el proceso PHP en sí (tu "INSERT" en tu caso) debe quedar aislado .. que se ejecute y al terminar redireccione a otro sitio. Normalmente a una página destinada para mostrar los mensajes de error .. o al "formulario" tal vez por el cual se llegó a ese proceso .. El caso es "redireccionar" para que no quede rastro de esa página en el navegador:

Código PHP:
<?
$query
=mysql_query("INSERT ....");
if (
$query){
  
header ("Loaction: pagina_mensajes.php?msg=1");
  exit;
} else {
  
header ("Loaction: pagina_mensajes.php?msg=2");
  exit;
}
Un saludo,
  #3 (permalink)  
Antiguo 12/09/2008, 12:16
 
Fecha de Ingreso: agosto-2003
Ubicación: Medellín
Mensajes: 20
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Se me ejecutan las consultas de nuevo al dar atras...!!

Muchas gracias ..!! eso fue muy util
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 07:41.