Ver Mensaje Individual
  #10 (permalink)  
Antiguo 15/04/2011, 08:35
salobo
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: problemas con manejos de sesiones

Cita:
Iniciado por Triby Ver Mensaje
A ver... en el login:

Código PHP:
Ver original
  1. <?php
  2. if(isset($_SESSION['variable'])) {
  3.     die('Error, ya iniciaste sesion!!!');
  4. }
  5.  
  6. // Aqui sigues el proceso normal para verificar si es un ingreso valido y redirigir

En perfil.php:
Código PHP:
Ver original
  1. if(!isset($_SESSION['variable'])) {
  2.     die('Debes iniciar sesion!!!'); // Puedes redirigir al login
  3. }
  4.  
  5. // Para saber que es lo que tienes en sesion y como mostrarlo:
  6. var_dump($_SESSION);

Por cierto, despues de un header('Location: ...'); debes poner exit; para evitar que el script se siga procesando.


muchas gracias por la ayuda.. lamentablemente hice lo que me indicaste pero sigue sin funcionar.. te muestro como tengo los codigos:

login.php

Código PHP:
<?php
session_start
();
if(isset(
$_SESSION['username'])) {
    die(
'Error, ya iniciaste sesion!!!');
    }
    
$servidor "localhost";
$usuario "root";
$password "";
$sdb "usuarios";


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'];
    
  
    
//definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios
    
$_SESSION['usuario_login']=$usuario_consulta['usuario'];

    
//definimos usuario_password con el password del usuario de la sesión actual (formato md5 encriptado)
    
$_SESSION['usuario_password']=$usuario_consulta['password'];


    
// Hacemos una llamada a si mismo (scritp) para que queden disponibles
    // las variables de session en el array asociado $HTTP_...
  
    
header("location: perfil.php");

    exit;
    
   }else {  
   
// si no esta el nombre de usuario en la BD o el password ..
   // se devuelve a pagina q lo llamo con error
   
Header ("Location: login1.php");
    exit;
   }
   
   }
 else {
 
Header ("Location: login1.php");
 exit;

}
}



// y luego el codigo html con el formulario correspondiente

ahora en perfil.php tengo

Código PHP:
<?

session_start
();

if(!isset(
$_SESSION['variable'])) {

   die(
'Debes iniciar sesion!!!');
?>

//todo el codigo html... 

// y en un div hago lo siguiente:

 <div id="contenido">
Usuario login (nombre) =>  <? echo $_SESSION['usuario_login'?><br>
  </div>
espero haya sido claro y me puedas dar una mano mas.. gracias de antemano