Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2006, 10:04
Znet
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años, 1 mes
Puntos: 0
Mas Problemas Con Sesiones

HOLA, ALGUIEN PODRIA AYUDAR CON UNA CLASE PARA CREAR UN OBJETO DE SESSION?
LES COMENTO, EN EL TRABAJO HE ESTADO HACIENDO UN FORMULARIO DE REGISTRO, TODO ADENTRO DE UNA SOLA CLASE PARA INVOCAR DE LA SIGUIENTE FORMA:

$registro=new user();
$registro->form();//Muestra formulario
$registro->procesa();//Procesa dicho formulario
$registro->form_update();//formulario para actualizar datos
$registro->procesa_form_update();//Procesa los datos del formulario de actualizacion
.....
.....
y así

Ahora por ejemplo, en el constructor de la clase user, yo ponia lo siguiente

session_name('registro');
session_start();


Entonces, en el método procesa, si algun dato estaba mal, almacenaba esos datos en la sesion, por ejemplo si estaba incompleto el campo email de caracter obligatorio hacia lo siguiente:

$_SESSION['email']=$_POST['email'];

Bueno hasta aquí todo bien.

El problema surgio en la parte del formulario de registro que es form();
En ese metodo donde estaba el formulario, los valores de los campos estaban con las sessiones, es decir <input type....value='$_SESSION['email']'> entonces lo que el usuario escribia estaba de nuevo en el form.

Pero el problema radicaba en lo siguiente, como adentro del método form() yo llamaba al metodo procesa() no se porqué, pero como que la session no se actualizaba, probe elimnar el método procesa y poner el codigo directamente dentgro de form(), pero me pasaba los mismo, se los explico con 1 ejemplo.

El usuario en el campo email coloca lo siguiente mimail@hotmail
Es un email inválido, entonces saltaba el error y le decia que el email estaba invalido.
Ahora el usuario tipeaba esto mimail@hotmail.
Que tambien es un email inválido, pero en el form, cuando saltaba el error en vez de aparecer mimail@hotmail. en el value del campo del email aparecia mimail@hotmail osea el primer email inválido que habia colocado, probe las cache y toda la historia y siempre pasaba lo mismo, cuando cometias el sisguiente error, se actualizaba el formulario con el error anterior al actual y asi sucesivamente, en pocas palabras, habia 1 retardo en las sessiones, y no se porque, lamentablemente lo tuve que implementar con COOKIES, pero no soy muy amigo de estas, y ahora tengo que hacer el modulo del logeo de usuarios y me gustaria hacerlo pero con SESSIONES, si alguien me pudises tirar ideas, o algun modulo hecho en el cual basarme, se lo agradeceria mucho.

Saludos.-
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-