Foros del Web » Programando para Internet » PHP »

Sesiones

Estas en el tema de Sesiones en el foro de PHP en Foros del Web. Estoy aprendiendo a usar las sessiones... pero tengo un pequeño (o gran) problema. Primero digamos que en mi aplicacion tomo usuario y contraseña, se valida ...
  #1 (permalink)  
Antiguo 01/02/2006, 10:25
PP2
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años
Puntos: 0
Exclamación Sesiones

Estoy aprendiendo a usar las sessiones...
pero tengo un pequeño (o gran) problema.
Primero digamos que en mi aplicacion tomo usuario y contraseña, se valida y luego se muestran los datos de este usuario en la pantalla (ya en otra pagina)... hasta ahi va todo bien, pues me muestra los datos que quiero, pero el problema biene cuando Refresco esa pagina, o le hago un submit... pues pierdo todos los datos del cliente. osea como si las variables se perdieran.

Alguien sabe que es lo que pasa????? mis variables son de sesion, $_Session['pass']. Se supone que no tendria por que perder los datos al refrescar.


Bueno, muchas gracias de antemano por la ayuda.
  #2 (permalink)  
Antiguo 01/02/2006, 10:28
Avatar de hunab  
Fecha de Ingreso: febrero-2005
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 19 años, 9 meses
Puntos: 1
¿te has asegurado que en la primera línia de todos tus php continúes la sesión con session_start();?
__________________
Marcio Barrios
marciobarrios.com // artículos sobre estándares y desarrollo web
  #3 (permalink)  
Antiguo 01/02/2006, 10:48
PP2
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años
Puntos: 0
Exclamación

sii, si esta... y me sigue haciendo lo mismo



  #4 (permalink)  
Antiguo 01/02/2006, 10:51
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
De acuerdo

Porque no pones tu código para que se te pueda ayudar de mejor manera
  #5 (permalink)  
Antiguo 01/02/2006, 11:24
PP2
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años
Puntos: 0
Ok... aunque no le veo mucho pero ok.

en la primera pagina esta asi:


<?php
session_start();
$_SESSION['usuario']= $HTTP_POST_VARS['usuario'];
$_SESSION['password'] = $HTTP_POST_VARS['password'];
?>

En esta primera pagina no hay problema.... solo pide esos dos datos y ya.. y por lo visto si conserva las variables por que accesa bien a la 2a.


El problema esta en esta.

<? session_start();
if (!isset($_SESSION['password']) && !isset($_SESSION['usuario'])) {
$HTTP_POST_VARS['pass']=$_SESSION['password'];
$HTTP_POST_VARS['ncontrol']=$_SESSION['usuario'];
}
?>


Accesa bien y todo, muestra los datos del cliente, pero de aqui... hago un submit y cuando se refresca... pum!... los datos ya no los muestra... como si pass y ncontrol no tuvieran un valor.


Creo que esa parte del codigo es donde esta el problema...
podran ayudarme?
  #6 (permalink)  
Antiguo 01/02/2006, 11:46
PP2
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años
Puntos: 0
Exclamación

bueno, acabo de ver que tengo codigo de mas... pero aun asi, me sigue pasando lo mismo, cuando refresco, pierdo las variables.

  #7 (permalink)  
Antiguo 01/02/2006, 13:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Deberías usar los arrays superglobales para todo, es decir .. si ya usas $_SESSION para sesiones, usa $_POST para tus actuales $HTTP_POST_VARS.

Esto no tiene nada que ver con tu problema puntual .. pero si un detalle a tener en cuenta.

Sobre tu problema ..

Concreta si de un script1.php (el primer código que indicas) que registras tus variables de sesión al pasar al script2.php (por un link, redireccionamiento o como lo hagas) recibes tus variables de sesión:

Código PHP:
session_Start();
echo 
$_SESSION['password']; // y las otras 
Y si tienes más problemas . .pon todo el código que uses completo (de los scripts que intervengan con sus nombres indicados). Usa el botón "PHP" para que el código quede coloreado correctamente y más legible.

Un saludo,
  #8 (permalink)  
Antiguo 01/02/2006, 13:27
PP2
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años
Puntos: 0
De acuerdo

Muchas gracias por tu respuesta.
Aunque ya encontre cual era el problema.
Como les decia es la primera vez que estoy usando las sessiones (Que me parecen excelentes), y la razón por la que perdia datos... era por que mientras estaba probando, deje perdido por ahi un session_destroy() y pues claro, que por esa razón perdia las variables jejejejejejejejeje, en fin... a veces estas cosas sirve... .

De todos modos gracias a todos los que respondieron.



Hasta pronto, saludos desde México.

P.D: gracias por el comentario del detalle a tomar en cuenta.
  #9 (permalink)  
Antiguo 01/02/2006, 13:32
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 19 años, 4 meses
Puntos: 1
trata de usar $HTTP_SESSION_VARS['usuario']
  #10 (permalink)  
Antiguo 01/02/2006, 13:51
 
Fecha de Ingreso: octubre-2005
Mensajes: 407
Antigüedad: 19 años, 1 mes
Puntos: 2
Y Cual Era El Problema???

Comentalo Asi Sabemos

Salu2
__________________
DJJJ
  #11 (permalink)  
Antiguo 01/02/2006, 19:25
PP2
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años
Puntos: 0
Claro, de hecho ya explique arriba que sucedia.

Pero ok, lo repito.
Por la razon que no podia conservar las variables de session, fue por que en el codigo (en una de mis pruebas) deje por ahi un session_destroy(), asi que obviamente... cuando refrescaba... ya habia perdido las variables. Lo solucione quitandolo.

GRACIAS.

P.D: Pocas veces he contribuido (como en 4 ocaciones), pero cuando tengo un problema y logro resolverlo, regreso al foro a poner lo que hice. ya que asi vamos aprendiendo todos.

P.D: Excelente comunidad.
  #12 (permalink)  
Antiguo 02/02/2006, 07:48
 
Fecha de Ingreso: octubre-2005
Mensajes: 407
Antigüedad: 19 años, 1 mes
Puntos: 2
gracias

gracias por poner la solucion
__________________
DJJJ
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 14:10.