Foros del Web » Programando para Internet » PHP »

Inicializar valores de variables de Form al ser enviadas ¿Como?

Estas en el tema de Inicializar valores de variables de Form al ser enviadas ¿Como? en el foro de PHP en Foros del Web. Tengo un Form con varios campos, estos campos los amaceno en MySQL cuando el usuario selecciona el botón "Enviar". Deseo es que el usuario no ...
  #1 (permalink)  
Antiguo 03/04/2010, 22:15
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 10 meses
Puntos: 21
Inicializar valores de variables de Form al ser enviadas ¿Como?

Tengo un Form con varios campos, estos campos los amaceno en MySQL cuando el usuario selecciona el botón "Enviar".

Deseo es que el usuario no pueda regresar a la página del Form o bien que si regresa, los campos se encuentren vacios. Quiero evitar la posibilidad que vuelva a tener la opción de volver a enviar los datos del Form, ya que duplicaría la afectación de las tablas.

¿Como es posible evitar que al enviar los datos del Form, las variables sean inicializadas y no contengan información?

Gracias
  #2 (permalink)  
Antiguo 03/04/2010, 22:25
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Inicializar valores de variables de Form al ser enviadas ¿Como?

Una forma de lograrlo es con AJAX. Evitas que se cargue la página así que cuando pulse atrás no va a ver información en el historial. Otra forma es usando javascript para enviar los datos por el método de GET y usando la función window.replace(). Bueno en todo caso, todo se logra con javascript. PHP se limita a código que se programa en el servidor. Tu problema viene con el navegador y las alternativas son con javascript.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 03/04/2010, 22:30
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años
Puntos: 25
De acuerdo Respuesta: Inicializar valores de variables de Form al ser enviadas ¿Como?

Yo lo haria registrando una sesion

ejemplo formulario.php

Código PHP:
  // conexion db etc etc.

   
session_start();
  
  if(!isset(
$_SESSION['no_form'])){

      
$_SESSION['no_form'] = 'enviado';
  }
   else {
     
header('Location: otrapagina.php');
// aqui puedes enviar un mensaje en vez de redirigirle a otra pagina ejemplo (UD YA SE REGISTRO etc.
 

__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #4 (permalink)  
Antiguo 03/04/2010, 22:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Inicializar valores de variables de Form al ser enviadas ¿Como?

@eddwinpaz, el problema del que está hablando es más bien, del usuario que escribe los campos, pulsa enviar, se graba la info, vuelve al formulario vacio y cuando pulsa atrás el formulario tiene la información que había escrito anteriormente.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 03/04/2010, 22:39
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años
Puntos: 25
Respuesta: Inicializar valores de variables de Form al ser enviadas ¿Como?

@abimaelrc pues si hablamos de una manera optima para asegurar que no envie los datos otra vez es por medio de sesiones Javascript esta del lado del cliente ;) no del servidor asi que no podemos asegurarnos que no lo haga por otras vias. pero tu solucion es viable dependiendo a que nivel lo quieras llevar yo soy algo extremista. y me gusta dar ese tipo de soluciones jejeje saludos suerte y exitos.
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #6 (permalink)  
Antiguo 03/04/2010, 23:17
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 10 meses
Puntos: 21
Respuesta: Inicializar valores de variables de Form al ser enviadas ¿Como?

Gracias a todos, voy a analizar las opciones que han comentado, todas muy buenas.

Mi Form es una factura a la cual se le asigna el Folio hasta el momento de grabarla a la B.D.

Considerando que se trata de información que se almacenará en MySQL, tenía la idea de hacerlo algo así:
  1. Asignar al Form una variable con un valor secuencial (Número de operación).
  2. Cuando el usuario intente grabar, validar que el valor secuencial (Número de operación) no se encuentre ya almacenado.
  3. Para el caso que el usuario capture una factura, pero nunca la grabe, ese número de operación simplemente será desechado y no vuelto a tomar en cuenta. (habra faltantes de Números de operación, lo que representará las operaciones abortadas).
Con lo anterior nunca podrá realizarse el almacenar más de una vez la información.

Saludos afectuosos y muy agradecido por sus aportes, analizaré con cuidado.
  #7 (permalink)  
Antiguo 03/04/2010, 23:36
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años
Puntos: 25
Respuesta: Inicializar valores de variables de Form al ser enviadas ¿Como?

@bier estas diciendo que no quieres que el usuario vuelva a enviar el formulario nuevamente esa es una solucion. aunque puede variar si defines el rumbo el cual no fue muy claro en tu post. Por ello te damos respuestas o en mi caso respuestas de ese tipo debido a que no habia visto clara tu vision del que tenias planeado hacer con el formulario.

pero para efectos de gestion de tu proceso te recomiendo agregar un Captcha eso evitaria enviar la misma informacion mas de 2 veces. puesto que tendrias que ingresar el numero que se encuentre en la imagen. y el formulario con los datos enviados una vez que refresques la ventana volvera a aparecer pero resulta que no es la misma clave de seguridad y por eso dara como fallido el envio del formulario.

Suerte con tu idea exitos!
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #8 (permalink)  
Antiguo 03/04/2010, 23:52
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 10 meses
Puntos: 21
Respuesta: Inicializar valores de variables de Form al ser enviadas ¿Como?

Cita:
Iniciado por eddwinpaz Ver Mensaje
@bier estas diciendo que no quieres que el usuario vuelva a enviar el formulario nuevamente esa es una solucion. aunque puede variar si defines el rumbo el cual no fue muy claro en tu post. Por ello te damos respuestas o en mi caso respuestas de ese tipo debido a que no habia visto clara tu vision del que tenias planeado hacer con el formulario.

pero para efectos de gestion de tu proceso te recomiendo agregar un Captcha eso evitaria enviar la misma informacion mas de 2 veces. puesto que tendrias que ingresar el numero que se encuentre en la imagen. y el formulario con los datos enviados una vez que refresques la ventana volvera a aparecer pero resulta que no es la misma clave de seguridad y por eso dara como fallido el envio del formulario.

Suerte con tu idea exitos!
Gracias, todos los aportes me son de gran utilidad, para esta necesidad y otras más.

Estoy desarrollando un ERP en PHP, ha sido mucho trabajo, pero ya veo una luz al final del tunel.

Un detalle importante es que será implementado en un POS (Punto de venta) y no debe ser muy complicado finalizar las ventas, debo considerar que en ocasiones hay "fila" de clientes.

Al implementarlo con un "Número de Operación", en caso de reintentar enviar el FORM le mostraría el aviso de "La operación ha sido realizada con anterioridad".

Las opciones de JavaScript y Sesiones no las he desechado, las estoy considerando con gran interés. Debo analizar e implementar la más viable.

Gracias a todos.
  #9 (permalink)  
Antiguo 04/04/2010, 00:00
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años
Puntos: 25
Respuesta: Inicializar valores de variables de Form al ser enviadas ¿Como?

Tambien puedes hacer uso de una herramienta muy interesante que se aplico en mi universidad para el area de estudiantes. y era la siguiente..

con un numero de ID en este caso en mi universidad cargaba todos los datos usando AjAX ( con el framework Prototype) entonces colocamos el ID (DNI, Cedula) y el carga el resto de datos puedes hacer algo similar adaptado a tus necesidades ejemplo.

en el campo donde tu dices que es primordial ingresas el codigo o etc y lo cotejas con la base de datos y asi no tienes que hacer todo el proceso del formulario y tomando como promedio segun tu formulario por especular . una transaccion de formulario asistido dura entre 6 a 7 minutos con la idea que te aporto puedes reducir el tiempo de espera de la larga lista que dices.. y te evitas validar los datos llenando el formulario completo...

Como dice un profesor "Debes saber como funcionan los sistemas para poder ver su flujo y aprender a solucionarlos"

Otra cosa si tienes muchas colas crea un script aparte de asistencias y haces un promedio de cuanto tarda el usuario o operador por persona y le das asi al script "IDEA!"


Nombre: juan papa
Operador: Cristina
MESA: 4
Hora: 10:15 AM


Nombre : Guzman Alkaparra
Operador: Cristina
Mesa: 4: 10:25 AM

ETC. asi solucionas una COLA XD de personas. Te lo digo por que mi profesor lo hizo en la gobernacion del estado para el proceso de actualizacion de pensiones de los ancianos y ahora nadie hace colas desde 2005.

La cuestion es analizar el sistema y a donde esta el cuello de botella. y solventarlo

saludos suerte y exitos.. epsero que mis ideas sean de aporte sustancial en tu duda.
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #10 (permalink)  
Antiguo 04/04/2010, 00:23
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 10 meses
Puntos: 21
Respuesta: Inicializar valores de variables de Form al ser enviadas ¿Como?

Cita:
Iniciado por eddwinpaz Ver Mensaje
Tambien puedes hacer uso de una herramienta muy interesante que se aplico en mi universidad para el area de estudiantes. y era la siguiente..

con un numero de ID en este caso en mi universidad cargaba todos los datos usando AjAX ( con el framework Prototype) entonces colocamos el ID (DNI, Cedula) y el carga el resto de datos puedes hacer algo similar adaptado a tus necesidades ejemplo.

en el campo donde tu dices que es primordial ingresas el codigo o etc y lo cotejas con la base de datos y asi no tienes que hacer todo el proceso del formulario y tomando como promedio segun tu formulario por especular . una transaccion de formulario asistido dura entre 6 a 7 minutos con la idea que te aporto puedes reducir el tiempo de espera de la larga lista que dices.. y te evitas validar los datos llenando el formulario completo...

Como dice un profesor "Debes saber como funcionan los sistemas para poder ver su flujo y aprender a solucionarlos"

Otra cosa si tienes muchas colas crea un script aparte de asistencias y haces un promedio de cuanto tarda el usuario o operador por persona y le das asi al script "IDEA!"


Nombre: juan papa
Operador: Cristina
MESA: 4
Hora: 10:15 AM


Nombre : Guzman Alkaparra
Operador: Cristina
Mesa: 4: 10:25 AM

ETC. asi solucionas una COLA XD de personas. Te lo digo por que mi profesor lo hizo en la gobernacion del estado para el proceso de actualizacion de pensiones de los ancianos y ahora nadie hace colas desde 2005.

La cuestion es analizar el sistema y a donde esta el cuello de botella. y solventarlo

saludos suerte y exitos.. epsero que mis ideas sean de aporte sustancial en tu duda.
Gracias.
Me suena interesante controlar el tiempo que se dedica a cada cliente en el proceso de venta, desde que se registra la Clave del cliente hasta que finaliza la venta.

Puedo detectar a clientes que quitan tiempo, a quienes son rápidos, y la velocidad de atención del capturista ¡Interesante!.

De este Post he obtenido ya varios tips importantes.

Gracias a abimaelrc y a eddwinpaz

Saludos

Etiquetas: variables, formulario
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 12:13.