Foros del Web » Programando para Internet » PHP »

Redireccionar pagina despues de ingresar un registro en mysql

Estas en el tema de Redireccionar pagina despues de ingresar un registro en mysql en el foro de PHP en Foros del Web. Tengo una pequeña duda, mediante de php y javascript estoy haciendo una web con registro de vehiculos por ejemplo pero tengo varias tablas relacionadas... Ahora ...
  #1 (permalink)  
Antiguo 11/12/2012, 16:18
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Redireccionar pagina despues de ingresar un registro en mysql

Tengo una pequeña duda, mediante de php y javascript estoy haciendo una web con registro de vehiculos por ejemplo pero tengo varias tablas relacionadas...

Ahora mando todo los datos mediante un <form method="POST">
y recogo los datos en la otra pagina con $motor = $_POST["motor"];

despues me conecto a la base de datos inserto los datos a veces datos en tablas diferentes

pero estoy redireccionando con javascript cuando finalice el registro mediante el siguiente script

<script language="JavaScript" type="text/javascript">
var pagina="consultas.php"
function redireccionar()
{
location.href=pagina
}
setTimeout ("redireccionar()", 5000);
</script>

el detalle esta es que si de pronto un dia la conexion esta muy lenta y pasa el tiempo que tengo establecido y no termina de ejecutar la consulta sql y actualiza la pagina entonces estaria perdiendo datos y funcionara con errores

No existe alguna manera de esperar de especificar en codigo a que espere que termine de ejecutar la consulta sql y cuando los datos esten seguros solo despues eso me redireccione a otra pagina?
  #2 (permalink)  
Antiguo 11/12/2012, 16:38
 
Fecha de Ingreso: septiembre-2012
Mensajes: 18
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Redireccionar pagina despues de ingresar un registro en mysql

La forma mas facil de implementar la funcionalidad que deseas es hacerlo enviando los datos mediante ajax, incluso puedes mostrar una imagen como loader. Si no quieres usar ajax existe otra tecnica que simula una llamada asincrona usando un iframe, pero es mas complicado.
  #3 (permalink)  
Antiguo 12/12/2012, 07:30
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Redireccionar pagina despues de ingresar un registro en mysql

Axsys gracias por la respuesta, sabes alguna manera de como enviarlo los datos mediante ajax utilizando una imagen como loader? eso de la imagen de loader seria muy practico
  #4 (permalink)  
Antiguo 12/12/2012, 08:10
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Redireccionar pagina despues de ingresar un registro en mysql

Axsys gracias por la respuesta, sabes alguna manera de como enviarlo los datos mediante ajax utilizando una imagen como loader? eso de la imagen de loader seria muy practico
  #5 (permalink)  
Antiguo 12/12/2012, 09:05
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Redireccionar pagina despues de ingresar un registro en mysql

Cita:
Iniciado por xavers Ver Mensaje
Tengo una pequeña duda, mediante de php y javascript estoy haciendo una web con registro de vehiculos por ejemplo pero tengo varias tablas relacionadas...

Ahora mando todo los datos mediante un <form method="POST">
y recogo los datos en la otra pagina con $motor = $_POST["motor"];

despues me conecto a la base de datos inserto los datos a veces datos en tablas diferentes

pero estoy redireccionando con javascript cuando finalice el registro mediante el siguiente script

<script language="JavaScript" type="text/javascript">
var pagina="consultas.php"
function redireccionar()
{
location.href=pagina
}
setTimeout ("redireccionar()", 5000);
</script>

el detalle esta es que si de pronto un dia la conexion esta muy lenta y pasa el tiempo que tengo establecido y no termina de ejecutar la consulta sql y actualiza la pagina entonces estaria perdiendo datos y funcionara con errores

No existe alguna manera de esperar de especificar en codigo a que espere que termine de ejecutar la consulta sql y cuando los datos esten seguros solo despues eso me redireccione a otra pagina?
Suponiendo que imprimes el script JS en el mismo archivo que haces la conexión e inserción a la base de datos este se imprimirá hasta que PHP termine de trabajar (a menos que lo configures de otra forma), por lo tanto lo que unicamente logras con ese script es que vas a hacer que el usuario espere a que termine PHP mas aparte, esperar 5 segundos a que JS haga la redirección lo cual es demasiado, por lo mismo no podría pasar lo que dices de perder datos, analiza bien lo que estas haciendo, al final, si vas a insertar muchos datos y PHP/MySQL tarda mucho es mejor como te dicen, enviar los datos vía Ajax...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 13/12/2012, 16:05
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Sonrisa Respuesta: Redireccionar pagina despues de ingresar un registro en mysql

Cita:
Iniciado por Nemutagk Ver Mensaje
Suponiendo que imprimes el script JS en el mismo archivo que haces la conexión e inserción a la base de datos este se imprimirá hasta que PHP termine de trabajar (a menos que lo configures de otra forma), por lo tanto lo que unicamente logras con ese script es que vas a hacer que el usuario espere a que termine PHP mas aparte, esperar 5 segundos a que JS haga la redirección lo cual es demasiado, por lo mismo no podría pasar lo que dices de perder datos, analiza bien lo que estas haciendo, al final, si vas a insertar muchos datos y PHP/MySQL tarda mucho es mejor como te dicen, enviar los datos vía Ajax...
Osea que como estoy imprimiendo el JAVASCRIPT despues de realizar todas las inserciones en MYSQL por lo que me estas diciendo el codigo JAVASCRIPT no se va a ejecutar sino hasta que PHP termine de procesar todas las inserciones en MYSQL??

Si es asi entonces no tengo problemas... Solo trato de evitar un problema a futuro

Pero si es como dices entonces esta perfecto asi
  #7 (permalink)  
Antiguo 13/12/2012, 16:08
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Redireccionar pagina despues de ingresar un registro en mysql

Cita:
Pero si es como dices entonces esta perfecto asi
Depende, si tarda mucho el servidor en procesar los datos no esta bien, porque mucha gente se desesperará y recargará la página aun sin terminar de procesar, por lo cual es probable que en algún momento se te duplique información en la DB...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: javascript, mysql+db, redireccionar
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 14:29.