Foros del Web » Programando para Internet » PHP »

Ayuda con Sesiones :(

Estas en el tema de Ayuda con Sesiones :( en el foro de PHP en Foros del Web. Wenas a ver mira la idea es q mediante un formulario y dos campos el usuario meta user y pass, cuando estos sena metidos entonces ...
  #1 (permalink)  
Antiguo 15/06/2003, 07:26
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años, 7 meses
Puntos: 7
Ayuda con Sesiones :(

Wenas a ver mira la idea es q mediante un formulario y dos campos el usuario meta user y pass, cuando estos sena metidos entonces se creara una sesion (en caso de ser el usuario y la pass correcta) creada. Para ello e exo lo siguiente:


Arriba del todo pongo:

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

Y dentro de la comprobacion del usuario y pass si son correctos creo:
Código PHP:
<? 


$_SESSION
[user]="$user";

$_SESSION['pass']="$pass";


?>
Y con esto ya voy selecionado de la base de datos los datos de ese usuario.

El problema esta que solo me ha salido una vez y ahora no me va. ¿como puedo hacer eso?
  #2 (permalink)  
Antiguo 15/06/2003, 11:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Bueno .. sería recomendable que uses ' en los indices del array .. (tambien sobrarian las " ...

Código PHP:
$_SESSION['user']=$user;
$_SESSION['pass']=$pass
Por lo demas .. hay que ver como pasas del script donde registras esas variables de sesión a donde quieres leerlas y el código de esta.

Siempre que uses sesiones debes iniciar el uso de estas vía:
session_start() .. y de una página a otra debes de propagar el SID (identificador único de sesión) .. Eso es "probable" que tu configuración propage el SID en módo automático (así no tienes que incluirlo en tus links/formularios que uses para "pasar" de una página a otra) ..

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 16/06/2003, 02:35
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años, 7 meses
Puntos: 7
oka lo tendre en cuenta todo lo dicho, otra duda mas: session_start() hay q ponerlo al principio de la página o no influye en nada? Tambiem como destruir la sesion y todas sus variables seria importante, o darle un periodo de vida determinado por seguridad.
  #4 (permalink)  
Antiguo 16/06/2003, 20:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
El session_start() da igual en que lugar de tu código "PHP" lo pongas siempre que sea antes de pretender acceder a una variable de sesión o usar alguna función concreta de sesiones como lo que veras a continuación ...

El caso que antes de tu session_start() NO debe de existir nada de HTML por delante .. (o cabeceras enviadas al navegador) ..

Destruir la sessión activa:

Código PHP:
<?
session_start
(); // Para continuar con la sesión activa bajo el SID que le corresponda ...
session_destroy(); // Se destruye la sesión .. el SID actual pasa a modo "garbage" .. osease, a la basura .. ya no será válido ese SID ..
?>
Los "tiempos de expiración" no son comunes usarlos en sesiones "muriendo" la sesión al cerrar tu navegador (es lo más seguro) .. Pero si quieres "jugar" con el tiempo de expiración .. repasa las funciones:

session_cache_expire()

Y las directivas:
session.gc_maxlifetime junto con session.gc_probability (que puedes ajustalas en tiempo de ejecución vía funcion ini_set() ...)

Revisate el manual oficial de PHP .. sección Sesiones ahí tienes todos los método y funciones para trabajar con sesiones.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 21:37.