Foros del Web » Programando para Internet » PHP »

como obtener el id del usuario logueado

Estas en el tema de como obtener el id del usuario logueado en el foro de PHP en Foros del Web. hola a todos, hace unos dias q vengo haciendo una pagina web q consista en q uno pueda crearse una cuenta, loguearse, subir imagenes y ...
  #1 (permalink)  
Antiguo 03/04/2011, 19:27
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Pregunta como obtener el id del usuario logueado

hola a todos, hace unos dias q vengo haciendo una pagina web q consista en q uno pueda crearse una cuenta, loguearse, subir imagenes y verlas, pero estoy teniendo un problema con mostrar las imagenes de una cuenta. Para intentar hacer esto a cada imagen q un usuario suba quiero q tenga la id de ese usuario lo cual no puedo hacer. Hasta ahora vengo haciendo esto:
Código PHP:
<?php
include('cn.php');
session_start();

$usuario $_SESSION['loggedInUser'];


//seleccionar toda la informacion del usuario
$sql "SELECT * FROM usuarios WHERE usuario = '" $usuario "'";
$result mysql_query($sql$cn) or
    die(
mysql_error($cn));
$row mysql_fetch_assoc($result);

//$userAge = $row['user_age'];
//$userCountry = $row['user_country'];
//$userJoinDateLinux = $row['user_join_date'];

// convert user join date time from linux to readable format
//$userJoinDate = date("F jS, Y", $userJoinDateLinux);

    
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $usuario?>'s Profile</title>
</head>
<body>
<h1>Su Cuenta</h1>
<h2>Bienvenido <?php echo $usuario?></h2>
<form action="profile.php" method="POST" enctype="multipart/form-data">
Archivo: <input type="file" name="imagen" /> <input type="submit" value="Subir" />
</form>
<?php 
//propiedades de archivos
$archivo $_FILES['imagen']['tmp_name'];
//ver si el archivo lo mandaron o no
if(!isset($archivo))
    echo 
"Porfavor selecione una imagen.";
else { 
      
//agarra el contenido de la imagen (mierda en codigo binario) y prevenir hacks con "addslashes"
      
$imagen addslashes(file_get_contents($_FILES['imagen']['tmp_name']));
      
//le da el nombre del archivo a la imagen
      
$imagen_nombre addslashes($_FILES['imagen']['name']);
      
//obtenemos las dimenciones de la imagen y te tira "FALSE" si el archivo no es una imagen
      
$imagen_dimen getimagesize($_FILES['imagen']['tmp_name']);
      
      
     
      
//verificar si es o no una imagen
      
if ($imagen_dimen == FALSE)
         echo 
"El archivo que intenta subir no es una imagen.";
      else {
               
//meter la imagen en la database
            
if(!$insertar mysql_query("INSERT INTO `a3080010_webfoto`.`imagene` VALUES ('','$imagen_nombre','$imagen','$usuarioid')"))
              echo 
"Ocurrio un problema al subir la imagen.";
                  else {
                    
$ultimaid mysql_insert_id();
                    echo 
"Imagen subida con exito.<p /> Tu imagen <p /> <img src=imagen.php?id=$ultimaid>";//(<img src=imagen.php?id=$ultimaid>)le da la id para q funcione imagen.php y busque la imagen que se quiere buscar
            
                       
}
              }
    }
?>
<h3><a href="logout.php">[LOGOUT]</a></h3>
<h3> TUS IMAGENES </h3>
<?php 
echo "<img src=imagenesus.php?usuarioid=$usuarioid>"
?>
si alguien tiene alguna idea de como obtener la id del usuario para luego mandarla por URL a "imagenesus.php" es bien recivida.
por las dudas (no se si es relevante) aclaro q la base de datos MySql tiene dos tablas: una "imagenes" y otra "usuarios"
en la tabla "imagenes" tiene 4 campos: id, nombre, imagen y usuarioid. la idea es llenar "usuarioid" con el id del usuario q hay en la tabla "usuarios".

desde ya, muchas gracias
  #2 (permalink)  
Antiguo 03/04/2011, 19:39
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: como obtener el id del usuario logueado

Pues si no te has fijado tu tienes en la variable de session $_SESSION['loggedInUser'];
el id del usuario, lo demas es carpinteria de acomodar el vinculo como tu lo desees
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 03/04/2011, 19:45
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: como obtener el id del usuario logueado

Cita:
Iniciado por carlos_belisario Ver Mensaje
Pues si no te has fijado tu tienes en la variable de session $_SESSION['loggedInUser'];
el id del usuario, lo demas es carpinteria de acomodar el vinculo como tu lo desees
y como accedo al id del usuario a travez de $_SESSION['loggedInUser'];? porq en la variable $usuario esta nomas el nombre de usuario no la id del usuario
  #4 (permalink)  
Antiguo 03/04/2011, 19:58
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
Respuesta: como obtener el id del usuario logueado

Holas

Deberias fijarte en la parte del codigo donde CREAS esa sesion... Tal vez crear una $_SESSION['loggedInID']; o algo por el estilo...

En algun lado seguramente hace algo como:

Código PHP:
$_SESSION['loggedInUser'] = $row['usuario']; // O algo similar 
/\/\/\/\/\

Igualmente alli mismo tienes para acceder a la ID del usuario. Si tienes el campo ID en tu tabla, podras accederlo tranquilamente con $row['id'];

Pero no nos contaste como es la estructura de tu tabla...

Espero haber ayudado en algo, cualquier cosa pregunta nuevamente.

Saludos
__________________
CabaSoft Networks
  #5 (permalink)  
Antiguo 03/04/2011, 20:19
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: como obtener el id del usuario logueado

Cita:
Iniciado por nicolyto77 Ver Mensaje
Holas

Deberias fijarte en la parte del codigo donde CREAS esa sesion... Tal vez crear una $_SESSION['loggedInID']; o algo por el estilo...

En algun lado seguramente hace algo como:

Código PHP:
$_SESSION['loggedInUser'] = $row['usuario']; // O algo similar 
/\/\/\/\/\

Igualmente alli mismo tienes para acceder a la ID del usuario. Si tienes el campo ID en tu tabla, podras accederlo tranquilamente con $row['id'];

Pero no nos contaste como es la estructura de tu tabla...

Espero haber ayudado en algo, cualquier cosa pregunta nuevamente.

Saludos
sinceramente no entendi mucho lo que escribiste en php (empeze hace poco con php). el tema con el $row['id'] es q yo quiero el id del usuario q esta logueado, yo habia intentado con algo asi
Código PHP:
$usuarioid mysql_query("SELECT id FROM usuarios WHERE usuario = '" $usuario "'");
      echo 
$usuarioid
pero el echo me tira "request id #11" cuando deberia ser solamente "1" (porq el id de la cuenta q esta logueada es 1).
la tabla "usuarios" tiene los campos : id, usuario, contraseña,nombre,apellido y email.
gracias por sus respuestas.
  #6 (permalink)  
Antiguo 03/04/2011, 21:25
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
Respuesta: como obtener el id del usuario logueado

Holas denuevo

Si la estructura de tu tabla es como la mencionaste y el $_SESSION['loggedInUser']; te muestra al usuario logueado, es tan facil como:

Código PHP:
<?php
$_USER 
$_SESSION['loggedInUser'];
$SQL mysql_query("SELECT * FROM usuarios WHERE usuario = '".$_USER."'");
$Info mysql_fetch_assoc($SQL);
echo 
$Info['id'];
?>
En ese caso, en el array $Info['id']; tendrias el ID del usuario Logueado, pero sino podrias revisar en el codigo que usas para crear la sesion, y ver en que parte asocias el 'Username' a la variable esa $_SESSION['loggedInUser'] para de esa manera, poder crear otra variable que tenga el ID del usuario y evitar el codigo PHP de arriba, quedaria algo como $_SESSION['loggedInID']; y la usarias mas facil.

Espero se haya entendido, cualquier cosa o error, pregunta que estamos para ayudar.

Saludos, suerte
__________________
CabaSoft Networks
  #7 (permalink)  
Antiguo 04/04/2011, 14:34
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: como obtener el id del usuario logueado

Cita:
Iniciado por nicolyto77 Ver Mensaje
Holas denuevo

Si la estructura de tu tabla es como la mencionaste y el $_SESSION['loggedInUser']; te muestra al usuario logueado, es tan facil como:

Código PHP:
<?php
$_USER 
$_SESSION['loggedInUser'];
$SQL mysql_query("SELECT * FROM usuarios WHERE usuario = '".$_USER."'");
$Info mysql_fetch_assoc($SQL);
echo 
$Info['id'];
?>
En ese caso, en el array $Info['id']; tendrias el ID del usuario Logueado, pero sino podrias revisar en el codigo que usas para crear la sesion, y ver en que parte asocias el 'Username' a la variable esa $_SESSION['loggedInUser'] para de esa manera, poder crear otra variable que tenga el ID del usuario y evitar el codigo PHP de arriba, quedaria algo como $_SESSION['loggedInID']; y la usarias mas facil.

Espero se haya entendido, cualquier cosa o error, pregunta que estamos para ayudar.

Saludos, suerte
muchisimas gracias che, con ese codigo lo solucione :D:D

Etiquetas: logueado, usuarios
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:44.