Foros del Web » Programando para Internet » PHP »

Como refrescar una sesion

Estas en el tema de Como refrescar una sesion en el foro de PHP en Foros del Web. ola, queria saber como hacer para refrescar los datos de una sesion, tengo este codigo para salir de la sesion: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver ...
  #1 (permalink)  
Antiguo 13/05/2011, 09:06
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 13 años
Puntos: 5
Pregunta Como refrescar una sesion

ola, queria saber como hacer para refrescar los datos de una sesion, tengo este codigo para salir de la sesion:
Código PHP:
Ver original
  1. if(isset($_GET['modo']) == 'desconectar')
  2. {
  3.     echo '<meta http-equiv="Refresh" content="0;url=login.php"> ';
  4.     exit ();
  5. }

pero no se que utilizar para refrescarla :S
  #2 (permalink)  
Antiguo 13/05/2011, 09:10
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 1 mes
Puntos: 65
Respuesta: Como refrescar una sesion

Pregunta, a que te refieres con refrescarla?..

Porque ahí con el session_destroy, la estas eliminando por completo, entonces no entiendo que deseas hacer, si nos das más idea, quizás te podemos ayudar..

saludts!
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #3 (permalink)  
Antiguo 13/05/2011, 09:31
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 13 años
Puntos: 5
Respuesta: Como refrescar una sesion

esa es la q utilizo para destruirla pero queria hacer otra para refrescar los datos que obtengo al iniciar la sesion, para iniciar la sesion hago:
Código PHP:
Ver original
  1. <?php
  2. include("config.php");
  3. if(isset($_POST['login']))
  4. {
  5.    
  6.     $nick= $_POST['nick'];
  7.     $pass= md5(md5($_POST['pass']));
  8.     $b_user=mysql_query("SELECT * FROM root WHERE nick='$nick'");  
  9.     $ses = @mysql_fetch_assoc($b_user) ;
  10.     if(@mysql_num_rows($b_user))
  11.     {
  12.         if($ses['pass'] == $pass)
  13.         {  
  14.             $_SESSION['id']=        $ses["id"];
  15.             $_SESSION['fecha']=     $ses["fecha"];
  16.             $_SESSION['usuario']=       $ses["usuario"];
  17.             $_SESSION['nick']=      $ses["nick"];
  18.             $_SESSION['mail']=      $ses["mail"];
  19.             $_SESSION['ip']=        $ses["ip"];
  20.             $_SESSION['os']=        $ses["os"];
  21.             $_SESSION['ultimoacceso']=  $ses["ultimoacceso"];
  22.             $_SESSION['idioma']=        $ses["idioma"];
  23.             $_SESSION['logo']=      $ses["logo"];
  24.         }
  25.         else
  26.         {
  27.             echo 'Nombre de usuario o Contrase&ntilde;a incorrecta.';
  28.         }
  29.     }
  30.     else
  31.     {
  32.         echo 'Nombre de Usuario o contrase&ntilde;a incorrecta.';
  33.     }
  34. }
  35.    
  36. if(isset($_GET['modo']) == 'desconectar')
  37. {
  38.     echo '<meta http-equiv="Refresh" content="0;url=login.php"> ';
  39.     exit ();
  40. }
  41.  
  42. if(isset($_SESSION['id']))
  43. {  
  44.     $os= $_SERVER['HTTP_USER_AGENT'];
  45.     $ip= $_SERVER['REMOTE_ADDR'];
  46.     $ultimoacceso= time();
  47.     $sql=mysql_query("UPDATE root SET ultimoacceso='$ultimoacceso', os='$os', ip='$ip' WHERE nick='$nick'");
  48.     $sesi = @mysql_fetch_assoc($sql) ;
  49.     echo '<meta http-equiv="Refresh" content="0;url=logo.php"> ';
  50.  
  51.    
  52. }
  53. else
  54. {
  55. ?>
  56. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  57. <html>
  58. <head>
  59. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  60. <title>Login</title>
  61. </head>
  62. <body>
  63. <h2>Iniciar sesion</h2>
  64. <div align="center">
  65.     <form name="login_user" action="login.php" method="post" />
  66.         <dt><label>Nick:</label></dt>
  67.         <input type='text' name='nick' /><br /><br />
  68.  
  69.         <dt><label>Contraseña:</label></dt>
  70.         <input type="password" name='pass' /><br /><br />
  71.        
  72.         <input type="submit" name="login" style="width:100px;" tabindex="6" value="Entrar" />
  73.        
  74.     </form>
  75.     <a href="registro.php">Registrarse</a>
  76. </div>
  77. <?php
  78. }
  79. ?>
  80. </body>
  81. </html>
  #4 (permalink)  
Antiguo 13/05/2011, 09:38
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 1 mes
Puntos: 65
Respuesta: Como refrescar una sesion

@.@' Sigo sin entender tu concepto de "refrescar"..

Lo que puedo decirte es que el funcionamiento de la sesiones, es: la creas, la usas, la destruyes, si necesitas volver a usarla la vuelves a crear recuerda usar sesion_start();

Y recuerda además que por cada usuario que use tu sitio se creara una..

Porque no lees el manual, quizás te saque de la duda.. Y una disculpa si no estoy entendiendo bien @.@'

saludos!
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #5 (permalink)  
Antiguo 13/05/2011, 09:48
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 13 años
Puntos: 5
Respuesta: Como refrescar una sesion

aer, los datos del usuario que inicia sesion los obtiene al principio, yo hago una opcion para cambiar los datos de ese usuario pero si no reinicia la sesion no los muestra tal y como los cambio, por eso queria poner alguna funcion con la que obtubiera otra vez los datos de la base de datos
  #6 (permalink)  
Antiguo 13/05/2011, 09:57
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 1 mes
Puntos: 65
Respuesta: Como refrescar una sesion

ha!!!! o sea que le das la opción de editar sus datos, y quieres que las variables de sesión se actualicen a los que acaba de ingresar..

Vale, que es muy diferente a lo que escribiste en un principio, hay que explicarse mejor.. porque no es "reiniciar sesion", ya que es el mismo usuario..

En fin, que la cosa es que justo después de la actualización (en la Base de Datos pues), asignes los nuevos datos, a los que te acaba de enviar, en el código que pusiste únicamente estas iniciando sesión..

No se en donde tengas el formulario para editar los datos, ni donde este tu consulta, pero debe ser ahí..

saludos ;)
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #7 (permalink)  
Antiguo 13/05/2011, 09:58
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Como refrescar una sesion

una vez que modifique los datos, le asignas esos nuevos datos a tu sesión y listo.

Saludos
  #8 (permalink)  
Antiguo 13/05/2011, 10:23
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: Como refrescar una sesion

amigo según entendi necesitas algo como esto .

esta es la consulta que imagino que va en tu fomulario

Código PHP:
Ver original
  1. <?php
  2.  $sql="SELECT * FROM tutabla WHERE id=".$_SESSION['nombredetusesion']."";
  3.  $resultado=mysql_query($sql,$link)or die(mysql_error());
  4.  while($row = mysql_fetch_array($resultado)) {
  5.      
  6.         $dato=$row["dato"];
  7.     }
  8. ?>

y el update quedaria algo asi ..

Código PHP:
Ver original
  1. $sql_modifica="UPDATE tutabla SET dato='".$_POST["dato"]."WHERE id=".$_SESSION['nombredetusesion']."";
  2. mysql_query($sql_modifica,$link);

Espero haber sido de ayuda .

Saludos
  #9 (permalink)  
Antiguo 13/05/2011, 11:14
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Como refrescar una sesion

matt_1985 WHAT? | ¿QUÉ? | CHE? | WAS ES IST?
¿Y esa consultas para qué?

A ver PabloPF., sólo debes cambiar el valor de la variable.

Por ejemplo:
$_SESSION['idioma']= $ses["idioma"]; --> inglés

Al ir al botón que actualize en la base de datos que su idioma es otro, por ejemplo alemán sólo tienes que cambiar de nuevo su session.

$_SESSION['idioma']='Alemán';


Consejo: No uses tanto las variables de sesión, vaya tirada. Si esos datos están en la BD, puedes obtenerlos cuando los necesites haciendo la consulta.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #10 (permalink)  
Antiguo 13/05/2011, 11:22
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Como refrescar una sesion

una sesión actúa como una variable, puedes modificarla cuando quieras

$_SESSION[misesion]=1;
$_SESSION[misesion]=2;
sleep(2);
$_SESSION[misesion]=3;

en otras palabras no necesitas "refrescarla", si no sobreescribirla.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #11 (permalink)  
Antiguo 13/05/2011, 11:33
 
Fecha de Ingreso: septiembre-2009
Ubicación: Managua
Mensajes: 128
Antigüedad: 14 años, 7 meses
Puntos: 5
Respuesta: Como refrescar una sesion

Exacto, concuerdo con stramin, cuando creas las variables de sesion en php se mantienen el valor que asignaste primero al leer de tu base de datos y esos valores de tus variables de session se modifican o refrescan como dices tu cuando vuelves a hacer una asignacion a dichas variables.

Ejemplo

session_start();
$_SESSION['nombre'] = 'Juan'; // la variable de sesion nombre tiene el valor Juan.
echo $_SESSION['nombre']; // imprimira Juan

$_SESSION['nombre'] = 'Pedro'; // ahora el valor de la variable de sesion nombre cambiara a Pedro
echo $_SESSION['nombre']; // por tanto ahora nos imprimirá Pedro en lugar de Juan que era nuestro valor anterior.

Saludos y espero te haya servido de algo mi post :)
  #12 (permalink)  
Antiguo 13/05/2011, 11:34
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 13 años
Puntos: 5
Respuesta: Como refrescar una sesion

gracias a todos!

Etiquetas: refrescar, sesión
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 08:01.