Foros del Web » Programando para Internet » PHP »

Entrada en db triplicada

Estas en el tema de Entrada en db triplicada en el foro de PHP en Foros del Web. Hola a todos/as Tengo una función a la que llamo desde un link, concretamente éste: Código: /modules.php?name=Your_Account&op=invamigo&username=NombreB&fname=NombreA En cual les paso las variables username y ...
  #1 (permalink)  
Antiguo 17/10/2009, 12:44
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Entrada en db triplicada

Hola a todos/as

Tengo una función a la que llamo desde un link, concretamente éste:

Código:
/modules.php?name=Your_Account&op=invamigo&username=NombreB&fname=NombreA 
En cual les paso las variables username y fname con su correspondiente contenido. Éste link llama a la función invamigo que es la siguiente:

Código PHP:
function invamigo($username$fname){
global  
$db$user;

if (
$db->sql_query("INSERT INTO a_friends (name, fname) VALUES ('$username', '$fname')")){
echo 
"<center><b>La invitación para $username ha sido enviada correctamente.<br>En breve valorará tu propuesta.</b><br>";
}else{
echo 
"<center>ERROR<br>";
}
echo 
"<br><center>[<a href=\"/modules.php?name=Your_Account\">Regresar a Tu Cuenta</a>]";

Funciona correctamente, el problema es que me hace 3 entradas en la base de datos!, igualitas una detrás de otra. Y eso me está dando bastantes quebraderos de cabeza.

¿Alguna idea de como solucionarlo, o de porque está pasando?

Muchas gracias anticipadas
  #2 (permalink)  
Antiguo 17/10/2009, 14:07
 
Fecha de Ingreso: julio-2006
Ubicación: sevilla
Mensajes: 251
Antigüedad: 18 años, 4 meses
Puntos: 5
Respuesta: Entrada en db triplicada

eso es porque el server recibe 3 clicks asegurate de redirigir el form hacia una paguina muerta porque si no el form conseva los valores del form, otra opcion es que controles el insert con un contador cosa que es un poco cutre, pero te animo a que limites el script mediante una variable que solo pueda recivir desde el form de forma que solo se jecute una ves.

Pero sigo pensado que es problema de que no rediriges el script al finalizar la insercion
  #3 (permalink)  
Antiguo 18/10/2009, 02:28
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Entrada en db triplicada

Hola Nevergame y gracias por la respuesta. ;)

Cuando finaliza la función regresa a la misma página pero, supuestamente, no tiene por que volver a entrar en la misma.

En cuanto a lo de redirigir el form a una página muerta, ¿te refieres a que en cuanto termine el query redirija automáticamente a la página x que elija? ¿Algo parecido a esto?:

Código PHP:
Header("location: modules.php?name=Your_Account&op=edituser"); 
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:50.