Foros del Web » Programando para Internet » PHP »

Variable de Sesión ¿Se puede "actualizar"?

Estas en el tema de Variable de Sesión ¿Se puede "actualizar"? en el foro de PHP en Foros del Web. Que tal. Tengo usuarios con passsword y la opción de cambiar el password, En la página de cambiar password muestro: "Su actual password es <? ...
  #1 (permalink)  
Antiguo 18/06/2003, 09:55
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
Variable de Sesión ¿Se puede "actualizar"?

Que tal.

Tengo usuarios con passsword y la opción de cambiar el password, En la página de cambiar password muestro:

"Su actual password es <? echo $_SESSION['usuario_id'] ?>" y lo muestro por la variable de sesión.

Lo del cambio del password lo hice con DWMX y sale bien.

Lo que ocurre es que cuando vuelvo a mostrar el password luego de haberlo cambiado el usuario, muestra el password antiguo. Siempre lo muestro por sesión.

Entonces, puede hacerse un "Refresh" o algo parecido en una variable de sesión?

(Yo he leido bastante sobre sesiones y sé que eso es parte de la esencia de estas, el mantner todo en las sesiones mientras el usuario esté logueado), peroigual pregunto.

Otra cosa, como podría ser para en una sentencia sql igualar o poder mostrar datos según una Variable de sesión?

De Antemano gracias.
  #2 (permalink)  
Antiguo 18/06/2003, 12:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. actualizar una variable de sesión en general es simplemente asignarle un nuevo valor:

$_SESSION['usuario_id']="otro valor";

Pero esa variable de sesión: $_SESSION['usuario_id'] con el "otro valor" que hemos cambiado .. No quedará disponible en el array superglobal $_SESSION hasta que no hagas una nueva petición al servidor (osese, hasta que no recargues la página o cambies a otra página que leas esa variable de sesión).

Osesase .. en tu flujo de código . no puedes hacer algo tal como:

$_SESSION['usuario_id']="nuevo valor";
echo $_SESSION['usuario_id']; // y esperar que aquí te de "nuevo valor" ...

Debes de recargar la página. (lo mismo sucede con las cookies .. )

Cita:
Otra cosa, como podría ser para en una sentencia sql igualar o poder mostrar datos según una Variable de sesión?
Pues trata a tu variable de sesión exactametne igual que cualquier otra variable .. Sólo que esta ($_SESSION) es un array .. así que hay q tener cuidado con las comillas en los indices del arraya ..

Código PHP:
$sql="SELECT * FROM tambla WHERE id_usuario='".$_SESSION['id_usuario']."'"
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/07/2003, 11:54
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
Precisamente, intento:

<? $sql="SELECT id FROM usuarios WHERE id='".$_SESSION['usuario_pass']."'";?>


Y me lo muestra como texto, deben ser las comillas, he intentado pero no me sale.

Gracias por Anticipado.
__________________
EL LIMITE ES EL UNIVERSO

Última edición por jpogsistem; 07/07/2003 a las 15:06
  #4 (permalink)  
Antiguo 07/07/2003, 15:07
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
He movido las comillas y nada.
__________________
EL LIMITE ES EL UNIVERSO
  #5 (permalink)  
Antiguo 07/07/2003, 22:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. a ver:

Si haces un echo $sql; .. que obtienes? .. Sale el valor de dicha variable de sesión? ...

Donde y cómo registras esa variable de sesión .. El SID, cómo lo propagas? (automático/manual/Ni idea?)...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 10/07/2003, 17:58
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
Que tal, Gracias por responder

Hago el <? echo $sql; ?>

Con la sentencia:

<? $sql="SELECT id FROM usuarios WHERE id='".$_SESSION['usuario_pass']."'";?>

Me muestra por ejemplo:

SELECT id FROM usuarios WHERE id='13166040'

Esto sale como texto simplemente así, pero con el valor de 13166040 como se puede ver.

Pues Cluster estoy utilizando el Autentificator, de manera que llamo siempre

<? echo $_SESSION['usuario_dato'] ?>

Eso crea una Sesión en C:\PHP\sessiondata no sé exactamente que forma sea esta pero me ha funcionado de maravilla, solo tengo que ajustar este detalle.

Saludos.

Última edición por jpogsistem; 10/07/2003 a las 18:06
  #7 (permalink)  
Antiguo 18/07/2003, 12:17
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
¿Ninguna Idea?.....trato de hacer lo mismo con otra varible de sesión pero sigue mostrando el resultado como texto.......
__________________
EL LIMITE ES EL UNIVERSO
  #8 (permalink)  
Antiguo 18/07/2003, 15:00
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Creo que me he liado un poco. Si haces un echo es para mostrar la cadena como texto. Si quieres hacer otra cosa con esa cadena, no se porque le haces un echo.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 18/07/2003, 15:28
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
Necesito mostar el resultado de esta consulta:

<? $sql="SELECT id FROM usuarios WHERE id='".$_SESSION['usuario_pass']."'";?>


Por eso hago

<? echo $sql; ?>

El resultado debería ser el password es decir, en vez de mostrar el Texto necesito mostrar 1232344 o lo que sea el password.

Debe ser algo de Sintaxis como ha dicho Cluster pero no sé....


Saludos y Gracias
__________________
EL LIMITE ES EL UNIVERSO

Última edición por jpogsistem; 18/07/2003 a las 15:30
  #10 (permalink)  
Antiguo 18/07/2003, 15:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Es decir, quieres ejecutar la consulta SQL. Mira www.php.net/mysql_query , supongo que usas como base de datos MySQL. Tambien daria una vuelta por tutoriales de SQL, ya que creo que estas un poco verde.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 11:37.