Hola,
El título lo dice todo, de que forma se puede evitar desde php que un usuario que rellena un formulario HTML, lo envíe y al actualizar la página con F5 por ejemplo, en PHP se detecte que es el mismo formulario y no guarde los datos.
| |||
Evitar reenvío de formulario Hola, El título lo dice todo, de que forma se puede evitar desde php que un usuario que rellena un formulario HTML, lo envíe y al actualizar la página con F5 por ejemplo, en PHP se detecte que es el mismo formulario y no guarde los datos. |
| |||
Respuesta: Evitar reenvío de formulario Gracias por responder Vun. Pero no es esactamente lo que busco, te explico. Tengo un formulario HTML, una vez enviado tiene que cargar otra vez la misma página. Si los datos se guardaron, con el formulario en blanco y si no se guardaron, porque alguno de los datos introducidos es erroneo, tiene que rellenar el formulario con los datos pasados por el usuario. (para que no tenga que rellenar otra vez todos los campos). El problema es que si actualiza la página vuelve a crear otro registro en la base de datos con la misma información (repetido). |
| ||||
Respuesta: Evitar reenvío de formulario Para prevenir abuso y errores del usuario, puedes tratar de utilizar PHP sessions. Creo algo como esto;
Código PHP:
Ver original |
| ||||
Respuesta: Evitar reenvío de formulario Ah, tu utilizes la base de datos! Es mejor detectar si el correo existe como un duplicado en el sistema (y el correo no ha caducado 5 minutos). Tal vez usuarios desactivar cookies y es no posibilidad utilizar sessions. |
| |||
Respuesta: Evitar reenvío de formulario hola, gracias por responder dreamconception. No se si entendí muy bien lo que quieres decir. En el primero me dices que espere un tiempo hasta que permita volver a enviar un formulario. Y en el segundo que compruebe en la base de datos si hay un registro igual al que voy a guardar. La primera solución no puedo aplicarla porque se supone que los usuarios pueden enviar más de un formulario (eso si, con distinta información) sin tener que esperar un tiempo determinado entre envío y envío. La segunda opción tampoco puedo porque los usuarios pueden crear entradas iguales una a otras (repetidas), pero lo que no quiero es que introduzcan la misma entrada una y otra vez solo con pulsar F5. Y ya de paso también me gustaría saber si sería recomendable poner un máximo de formularios que cada usuario puede enviar, a la hora, día, etc. Gracias. |
| ||||
Respuesta: Evitar reenvío de formulario Lo siento para mi falta de español. La segunda (y también la primera) es bien si verificar IP y hora de otra entrada con un demora. Yo pienso un demora de cinco minutos dará una protección suficiente. Un otra propuesta es utilizar un token un tu URL o POST values, como http://www.something.com/post.php?token=dsa3ff o $_POST['token']. Registres el token un tu base de datos o en un session value, y verificas si el token es valido o no. Es no bien para protección de abuso más fuerte, pero es suficiente para protección de F5. Espero que me hice clara y esto le puede ayudar!! |
| |||
Respuesta: Evitar reenvío de formulario Hola, La solución captcha ya la tengo implementada, pero en el formulario de registro. Yo lo quiero para los formularios a los que se accede una vez registrado, y no se, me parece un poco pesado para los usuarios tener que estar introduciendo el captcha cada vez que quieran escribir un comentario. En cuando a lo del token creo que no es suficiente, porque se supone que se puede registrar cualquiera y ese metodo es muy facil de saltar. |
Etiquetas: |