Foros del Web » Programando para Internet » PHP »

Al modificar los datos de usuario (usuario, contraseña, nombre, etc..) como puedo...

Estas en el tema de Al modificar los datos de usuario (usuario, contraseña, nombre, etc..) como puedo... en el foro de PHP en Foros del Web. Hola, este me parece que es un problema bastante común pero no doy con la forma de resolverlo. Como puedo actualizar las sesiones de un ...
  #1 (permalink)  
Antiguo 13/02/2007, 19:53
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Al modificar los datos de usuario (usuario, contraseña, nombre, etc..) como puedo...

Hola, este me parece que es un problema bastante común pero no doy con la forma de resolverlo.

Como puedo actualizar las sesiones de un usuario que he propagado por la web para cargar sus datos según me haga falta (nombre, apellidos, correo, etc..) si el usuario modifica sus datos vía UPDATE en la base de datos a través de un formulario??? Necesito salir del sistema y volver a entrar con los nuevos datos??? me imagino que no.., pero no doy con la forma, ¿¿como podría actualizar las sesiones de los datos de este usario sin necesidad de salir del sistema??

Gracias, un saludo.
  #2 (permalink)  
Antiguo 13/02/2007, 19:58
Avatar de andre_cl  
Fecha de Ingreso: enero-2007
Ubicación: STGO - CHILE
Mensajes: 51
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Al modificar los datos de usuario (usuario, contraseña, nombre, etc..) como puedo

Podrias hacer que cuando el usuario actualice su informacion, automaticamente las sessiones se actualizan con la nueva informacion ingresada. Algo como

FormularioActualizacion.php ->ActualizaDatos.php->ActualizaSesiones.php->MensajeSatisfactorio.php
  #3 (permalink)  
Antiguo 13/02/2007, 20:34
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Re: Al modificar los datos de usuario (usuario, contraseña, nombre, etc..) como puedo

Gracias por responder Andre_cl, la idea me parece interesante, pero como sé coo puedo hacerlo a grandes rasgos..., no te pido nada de código sino con que funciones o método lo harías???

Un saludo, Gracias.
  #4 (permalink)  
Antiguo 13/02/2007, 20:51
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Al modificar los datos de usuario (usuario, contraseña, nombre, etc..) como puedo

Código PHP:
<?php
session_start
();

//Realizas el update del usuario
$update_user($los$datos$para$actualizar);

//Con los mismos datos que usaste para actulizar, es decir, los nuevos datos, cambias las varaibles de sesion
$_SESSION['los'] = $los;
$_SESSION['datos'] = $datos;
$_SESSION['para'] = $para;
?>
Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 13/02/2007, 20:57
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Re: Al modificar los datos de usuario (usuario, contraseña, nombre, etc..) como puedo

Gracias por responder Fridureiks, he probado lo que me comentabas, primero sin destruir las sessiones y después destruyendolas y volviendolas a crear y cuando entro en otro página me sigue cargando los datos antiguos del usuario.., solo me carga los nuevos si salgo y entro de nuevo en el sistema, este es el code que he usado.

Código PHP:
// una vez actulizado los datos de usuario destruyo las sesiones
session_unset();
session_destroy(); 
// una vez destruidas las sessiones las vuelvo a crear para cargar los nuevos datos de usuario
session_start();
$_SESSION["usuario"]="$usuario";
$_SESSION["contrasena"]="$contrasena";
$_SESSION["domicilio"]="$domicilio";
$_SESSION["cp"]="$cp";
$_SESSION["localidad"]="$localidad";
$_SESSION["provincia"]="$provincia";
$_SESSION["centro"]="$centro";
$_SESSION["telefono"]="$telefono";
$_SESSION["correo"]="$correo";
$_SESSION["nombre"]="$nombre";
$_SESSION["apellidos"]="$apellidos"
De que puede ser que falle???

Un saludo.

Última edición por Zertiko; 13/02/2007 a las 21:28
  #6 (permalink)  
Antiguo 14/02/2007, 13:07
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Re: Al modificar los datos de usuario (usuario, contraseña, nombre, etc..) como puedo

Nada que no hay manera.., no sé porque pero no me cambia el valor de las sesiones hasta que no vuelvo a entrar en el sistema..., alguien sabe de que puede ser???? puede ser de que hago el el UPDATE de los datos en el mismo archivo donde destruyo y creo de nuevo las sesiones???

pego el code


Código PHP:
// una vez validado el formulario actualizamos el registro de usuario
$sql="UPDATE $tabla SET nombre='$nombre', apellidos='$apellidos', domicilio='$domicilio', cp='$cp', localidad='$localidad', provincia='$provincia', centro='$centro', telefono='$telefono', correo='$correo', usuario='$usuario', contrasena='$contrasena' WHERE usuario='$usuario_actual' && contrasena='$contrasena_actual'";
mysql_query($sql$conexion) or die("error en la consulta $sql ".mysql_error());
// una vez actualizado el registro de usuario actualizamos los registros de la tabla comunicaciones que comparte campos con la tabla de usuarios
$autor_nuevo=$nombre." ".$apellidos;
$sql="UPDATE $tabla1 SET usuario='$usuario', autor='$autor_nuevo', centro='$centro', correo='$correo' WHERE usuario='$usuario_actual' && correo='$correo_actual'";
mysql_query($sql$conexion) or die("error en la consulta $sql ".mysql_error());
// una vez actulizado los datos de usuario destruyo las sesiones
session_unset();
session_destroy(); 
// una vez destruidas las sessiones las vuelvo a crear para cargar los nuevos datos de usuario
session_start();
$_SESSION["usuario"]="$usuario";
$_SESSION["contrasena"]="$contrasena";
$_SESSION["domicilio"]="$domicilio";
$_SESSION["cp"]="$cp";
$_SESSION["localidad"]="$localidad";
$_SESSION["provincia"]="$provincia";
$_SESSION["centro"]="$centro";
$_SESSION["telefono"]="$telefono";
$_SESSION["correo"]="$correo";
$_SESSION["nombre"]="$nombre";
$_SESSION["apellidos"]="$apellidos";
// una vez actualizados los registros redireccionamos al formulario editar el registro
header("Location:modificar_registro.php?mensajegeneral=1");
// si repita contraseña no contiene la misma cadena que contraseña 
Un saludo.
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 04:50.