Foros del Web » Programando para Internet » PHP »

problema con guestbook

Estas en el tema de problema con guestbook en el foro de PHP en Foros del Web. Estoy probando un libro de visitas con php y mysql, todo bien, el unico problema es ke al actualizar la pagina, osea apretar F5, me ...
  #1 (permalink)  
Antiguo 11/11/2005, 20:40
 
Fecha de Ingreso: junio-2004
Mensajes: 2
Antigüedad: 13 años, 6 meses
Puntos: 0
problema con guestbook

Estoy probando un libro de visitas con php y mysql, todo bien, el unico problema es ke al actualizar la pagina, osea apretar F5, me muestra el aviso de ke "La Pagina que esta trando de ver fue generada dinamicamente, con datos enviados previamente. Si necesita reenviar los datos, cualquier accion que se llevo a cabo tendran que ser repetidas. Si quiere reenviar los datos presione Aceptar, de lo contrario elija Cancelar." y al presionar Aceptar se insertan nuevamente los ultimos datos ingresados.

A que se debe esto? , agradeceria su ayuda, salu2
  #2 (permalink)  
Antiguo 12/11/2005, 02:58
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Hola:
Ya se ha tratado este tema en innumerables ocasiones. Normalmente el proceso se divide en dos:
- formulario.html que envía a proceso_formulario.php.
- proceso_formulario.php que inserta comentario y muestra mensaje de ok!.

Al actualizar el segundo, se volverán a procesar los datos del formulario.... es lógico.

¿La solución?
Separar el segundo proceso en dos. Con esto, nos quedarían tres:
- formulario.html que envía a proceso_formulario.php
- proceso_formulario.php que inserta el comentario y redirecciona a mensaje.html
- mensaje.html que muestra el mensaje de ok!

Así, al actualizar el tercero, ya no se volverán a procesar los datos del formulario.

Ojo: Puedes poner las tres partes en archivos separados o no. también podría estar todo en un solo archivo. Lo importante es que controles el flujo de ejecución (con "if", o "switch") y que no se ejecuten 2 y 3 juntos.

Saludos
  #3 (permalink)  
Antiguo 12/11/2005, 07:49
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
insertas este codigo javascripts en el html de tu pagina

Cita:
<script language='JavaScript'>
<!--
document.onkeydown = function(){
if(window.event && window.event.keyCode == 116){
window.event.keyCode = 505;
}
if(window.event && window.event.keyCode == 505){
return false;
}
}
//-->
</script>
este codigo deshabilita el boton F5, posiblemente te ayudaria en algo
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #4 (permalink)  
Antiguo 12/11/2005, 12:26
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
xyyy7:

Particularmente, yo veo el caso descrito por TarMinyatur como una deficiencia en la programación. O, más que deficiencia, limitación.

Lo que yo planteo es entender qué es lo que pasa y tratar de arreglarlo desde su raíz. Lo que tú planteas es ocultar la deficiencia en lugar de arreglarla.

Saludos
  #5 (permalink)  
Antiguo 12/11/2005, 12:48
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
Cita:
Iniciado por jpinedo
xyyy7:

Particularmente, yo veo el caso descrito por TarMinyatur como una deficiencia en la programación. O, más que deficiencia, limitación.

Lo que yo planteo es entender qué es lo que pasa y tratar de arreglarlo desde su raíz. Lo que tú planteas es ocultar la deficiencia en lugar de arreglarla.

Saludos
Podria usarse como complemento, por eso comente

Cita:
Iniciado por xyyy7
posiblemente te ayudaria en algo
Nunca es malo saber otras acternativas... así no se usen pero se adquiere conocimientos para casos futuros relacionados al tema

Saludos.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #6 (permalink)  
Antiguo 12/11/2005, 14:32
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Cita:
Iniciado por xyyy7
Nunca es malo saber otras acternativas...
Pero si yo no he dicho que sea malo. Tú das una solución que, por supuesto, funciona (salvo que se tenga desactivado el JavaScript) y yo doy mi opinión acerca de ella. ¿Para eso no son los foros?

Saludos
  #7 (permalink)  
Antiguo 12/11/2005, 15:20
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
cierto, para que son los foros?
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #8 (permalink)  
Antiguo 13/11/2005, 03:31
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 12 años, 7 meses
Puntos: 0
Pero ese código no desactiva el botón refresh
__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
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:26.