Ver Mensaje Individual
  #13 (permalink)  
Antiguo 15/04/2011, 16:52
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problemas con manejos de sesiones

Tu codigo... sorry por ponerlo como texto, solo quiero remarcar algunas cosas:

-----------------------
if (isset($_POST['username']) && isset($_POST['password'])) {
session_start();
$ilink3=mysql_connect($servidor,$usuario,$password ) or die(mysql_error());
mysql_select_db($sdb,$ilink3);

// realizamos la consulta a la BD para chequear datos del Usuario.
$usuario_consulta = mysql_query("SELECT id,usuario,password FROM users WHERE usuario='".$_POST['username']."'") or die(mysql_error());


if (mysql_num_rows($usuario_consulta) != 0) {
if (($login == $usuario_consulta['usuario'])&&($password == $usuario_consulta['passwoord']))
{
session_name($usuarios_sesion);
// incia sessiones

// Paranoia: decimos al navegador que no "cachee" esta página.
session_cache_limiter('nocache,private');

// Asignamos variables de sesión con datos del Usuario para el uso en el
// resto de páginas autentificadas.

// definimos usuarios_id como IDentificador del usuario en nuestra BD de usuarios
$_SESSION['usuario_id']=$usuario_consulta['id'];
--------------------------------

1. Al inicio de la pagina ya tienes un session_start(), el marcado en rojo sale sobrando.
2. Si quieres definir un nombre especifico para las sesiones, debe ser antes de session_start().
3. Creo que lo mismo aplica para session_cache_limiter()... es decir, antes de session_start().

Resumen:
- Un solo session_start() por script y debe ser al principio.
- Si quieres aplicar modificadores, como nombre y/o especificaciones de cache, debes hacerlo antes de iniciar la sesion.
- Si usas nombre de sesion en login, debes usar exactamente el mismo en todos los otros scripts donde quieras tener acceso a las variables de sesion.
__________________
- León, Guanajuato
- GV-Foto