Foros del Web » Programando para Internet » PHP »

Problema Integridad BD - Formularios POST

Estas en el tema de Problema Integridad BD - Formularios POST en el foro de PHP en Foros del Web. Pues cuando lo sepas postealo Un saludo...

  #31 (permalink)  
Antiguo 10/11/2008, 17:05
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema Integridad BD - Formularios POST

Pues cuando lo sepas postealo

Un saludo
  #32 (permalink)  
Antiguo 10/11/2008, 17:11
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema Integridad BD - Formularios POST

Y si quiero editar el formulario tengo una un boton de editar que me vuelve atras, para modificar el formulario, pero despues de una inserccion no kiero que me vuelva atras PARA NADA! Porque la insercion ya está hecha.
  #33 (permalink)  
Antiguo 10/11/2008, 19:53
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Problema Integridad BD - Formularios POST

Cita:
Iniciado por C_Cornell Ver Mensaje
Y si quiero editar el formulario tengo una un boton de editar que me vuelve atras, para modificar el formulario, pero despues de una inserccion no kiero que me vuelva atras PARA NADA! Porque la insercion ya está hecha.
Vamos hombre haber si te sirve:

En la pagina donde tenes el form
Por Ejemplo: FrmInsertar.php

Código PHP:
<?php 
session_start 
();
$HashId md5(uniqid(time()));
$_SESSION["UniqiHash"] = $HashId;
?>
Código HTML:
<form action="Insertar.php" method="POST" enctype="application/x-www-form-urlencoded">
<input type="text" />
...
CAMPOS DE TU FORM
...
<input type="hidden"  name="HashId" value="<?php echo  $HashId ?>"/>
<input type="submit" value="Submit" />
</form> 

y en el archivo insertar.php

Código PHP:
session_start();
if (
$_SESSION["UniqiHash"] = $_POST["HashId"])
{
     
//Codigo para insertar.....

}

session_unset();
session_destroy(); 
/*Siempre termina la session entonces UniqiHash deja de existir en cualquiera de los casos, si hago un POSTBACK (F5) no lo toma....Si voy atras ya no va a ser el mismo hash...*/ 
  #34 (permalink)  
Antiguo 10/11/2008, 20:42
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 8 meses
Puntos: 0
srsombre justo ahora, venia a comentar lo que hize, y veo tu respuesta:

- Aunque antes no lo dije (para simplificar el caso, y no debí hacerlo) yo tengo una pagina intermedia entre "insertar" y "operaciones" que digamos es "mostrar datos si validacion correctar para confirmacion de usuario" Asi de largo, jaja

Bueno el caso es que una vez que un formulario esta validado solo queda darle a "confirmar". Yo no quiero que volviendo atras (despues de las operaciones), y aunque se genere otro hash el usuario pueda re-confirmar, porke se altera la integridad de las restricciones que quiero en mi BD.

El caso es que no quiero que cada formulario que se "ha procesado", se pueda volver a confirmar retrociendo 1, 2 , 10 veces con el navegador mostrando páginas anteriores.

Asi que cada "hash" debo mantenerlo algun tiempo más, y para no solapar variables $_SESSION creo variables $_SESSION[$_POST['hash']]
que inicializo a TRUE para procesar 1, solo 1 vez, las operaciones del formulario. Despues pongo la variable a FALSE y ya me da igual las veces que insista el usuario intentando recargar/retroceder inmediatamente, o volviendo sobre sus pasos despues de realizar otras operaciones correctas.

Bueno gracias por vuestra ayuda A TODOS, y disculpad que no expusiera muy bien el tema, no me manejo muy bien por aquí todavía.

Última edición por GatorV; 10/11/2008 a las 21:39
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 19:11.