Foros del Web » Programando para Internet » PHP »

Obtener el ID del usuario de la session

Estas en el tema de Obtener el ID del usuario de la session en el foro de PHP en Foros del Web. Hola, estoy teniendo problemas que nose como solucionarlos! Estoy tratando de añadir a una tabla informacion de otra, por ejemplo, quiero añadir un video a ...
  #1 (permalink)  
Antiguo 27/07/2011, 19:20
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Obtener el ID del usuario de la session

Hola, estoy teniendo problemas que nose como solucionarlos!

Estoy tratando de añadir a una tabla informacion de otra, por ejemplo, quiero añadir un video a la tabla de videos, pero para poder identificar quien puso el video, necesito sacar el id del usuario que esta en otra tabla, pero nose como obtener el id del usuario que esta logueado, para poder añadirlo!

este es mi script:
Código PHP:
<?php
session_start
(); 

$con1 mysql_connect("localhost","root","");
if (!
$con1)
  {
  die(
'Could not connect: ' mysql_error());
  }
function 
getYTid($ytURL) {
    if (
$_POST["tipo"] == "youtube"){
        
$ytvIDlen 11;
        
$idStarts strpos($ytURL"?v=");
        if(
$idStarts === FALSE)
            
$idStarts strpos($ytURL"&v=");
        if(
$idStarts === FALSE)
            die(
"YouTube video ID not found. Please double-check your URL.");
        
$idStarts +=3;
        
$ytvID substr($ytURL$idStarts$ytvIDlen);
        }
    if    (
$_POST["tipo"] == "vimeo"){
        
$ytvID substr($ytURL,17);
        }
        return 
$ytvID;}
        
$codigo getYTid($_POST['url']);

mysql_select_db("longdoarb"$con1);

$sql="INSERT INTO videos (video_id, usuario_id, titulo, url, descripcion, categoria, rider, tabla, trucks, llantas)
VALUES
('','','$_POST[titulo]','$codigo','$_POST[descripcion]','$_POST[categoria]','$_POST[rider]','$_POST[tabla]','$_POST[trucks]','$_POST[llantas]')"
;

if (!
mysql_query($sql,$con1))
  {
  die(
'Error: ' mysql_error());
  }
echo 
"1 record added";

mysql_close($con1)
?>
En la parte del del insert into, en los values, nose que poner para obtener el id del usuario y postearlo ahi, alguna idea?

Muchas gracias!
  #2 (permalink)  
Antiguo 27/07/2011, 20:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener el ID del usuario de la session

El punto aquí es, ¿por qué no almacenas el ID del usuario al iniciar sesión?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/07/2011, 20:38
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: Obtener el ID del usuario de la session

Si lo almaceno, como lo llamo?
  #4 (permalink)  
Antiguo 27/07/2011, 20:45
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Obtener el ID del usuario de la session

Si estás tan seguro de almacenarlo, deberías saber como extraerlo, no?
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #5 (permalink)  
Antiguo 27/07/2011, 20:48
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: Obtener el ID del usuario de la session

No, porque lo almaceno en el login.php y lo kiero llamar desde video.php, como hago?
  #6 (permalink)  
Antiguo 27/07/2011, 21:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener el ID del usuario de la session

Cita:
Iniciado por morfasto Ver Mensaje
No, porque lo almaceno en el login.php y lo kiero llamar desde video.php, como hago?


¿De verdad sabes trabajar con sesiones?

Vamos, que es básico.

No puedo creer que no lo entiendas.

Lee el manual, por favor:
http://www.php.net/manual/es/book.session.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 27/07/2011, 21:29
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: Obtener el ID del usuario de la session

Waaa no lo entiendo, por eso pido ayuda! :(
  #8 (permalink)  
Antiguo 27/07/2011, 21:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener el ID del usuario de la session

Cita:
Iniciado por morfasto Ver Mensaje
Waaa no lo entiendo, por eso pido ayuda! :(
Pues por eso consulta el manual, para que lo entiendas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 27/07/2011, 22:00
 
Fecha de Ingreso: junio-2011
Ubicación: Mexicali, Baja California, Mexico
Mensajes: 11
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Obtener el ID del usuario de la session

Con esto puedes obtener el id de la sesion iniciada

session_id() devuelve el id de sesión para la sesión actual o la cadena vacía ("") si no hay sesión actual (no existe id de sesión actual).


Código PHP:
Ver original 
  #10 (permalink)  
Antiguo 27/07/2011, 22:18
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: Obtener el ID del usuario de la session

En el login.php estoy definiendo la variable de la session:
Código PHP:
$query1 mysql_query("SELECT usuario_id FROM usuarios WHERE email = '$username'") or die(mysql_error()); 
$row1 mysql_fetch_array($query1); 
$_SESSION['usuario']=$row1
Y en el videos.php estoy llamando a la variable:
Código PHP:
$sql="INSERT INTO videos (video_id, usuario_id, titulo, url, descripcion, categoria, rider, tabla, trucks, llantas)
VALUES
('','$_SESSION['usuario']','$_POST[titulo]','$codigo','$_POST[descripcion]','$_POST[categoria]','$_POST[rider]','$_POST[tabla]','$_POST[trucks]','$_POST[llantas]')"

Que es lo que estoy haciendo mal?
  #11 (permalink)  
Antiguo 27/07/2011, 22:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener el ID del usuario de la session

Tienes serios problemas con las comillas, lee esto:
http://www.forosdelweb.com/f18/como-...s-bien-588701/

Además lo que almacenaste en la sesión es un array, resultado de mysql_fetch_array(), así que para obtener el ID de dicho array debes acceder al índice correcto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 27/07/2011, 22:38
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: Obtener el ID del usuario de la session

Como accedo al indice correcto para que sea una variable simple y no un array?
  #13 (permalink)  
Antiguo 27/07/2011, 22:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener el ID del usuario de la session

Cita:
Iniciado por morfasto Ver Mensaje
Como accedo al indice correcto para que sea una variable simple y no un array?
Los índices no se crean solos a menos que sean indexados, si son asociativos debe existir una clave a cual referirse.

Deberías también aprender a usar arrays, es básico.

Si lees el manual de la función mysql_fetch_array() te podrás dar cuenta la forma en que se almacenan dichos datos extraídos de la consulta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 27/07/2011, 23:02
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 8 meses
Puntos: 8
Respuesta: Obtener el ID del usuario de la session

No logro descifrarlo! :( , me estoy volviendo loco !
  #15 (permalink)  
Antiguo 27/07/2011, 23:34
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Obtener el ID del usuario de la session

Sabes la mecánica básica de una sesión? Deberías empezar por ahí...
Yo sé que quieres que te den la respuesta en la mano, pero no. Ya te dieron una pista, ponte a leerla: http://www.php.net/manual/es/book.session.php

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #16 (permalink)  
Antiguo 28/07/2011, 04:47
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 13 años, 10 meses
Puntos: 13
Respuesta: Obtener el ID del usuario de la session

Cita:
Iniciado por morfasto Ver Mensaje
En el login.php estoy definiendo la variable de la session:
Código PHP:
$query1 mysql_query("SELECT usuario_id FROM usuarios WHERE email = '$username'") or die(mysql_error()); 
$row1 mysql_fetch_array($query1); 
$_SESSION['usuario']=$row1
No entiendo porque lo guardas en un array. Se supone que el username es único, ya que no hay o no debe haber nombres de usuarios repetidos. ¿No tendrías que guardar la sesión en una variable normal y luego insertarla?
  #17 (permalink)  
Antiguo 28/07/2011, 06:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener el ID del usuario de la session


Código PHP:
// escribes la variable
$_SESSION['usuario']=$row1['usuario_id']; // ¿así se llama la columna?

// recibes la variable
$usuario_id=$_SESSION['usuario']; // ¿o me equivoco? 
morfasto, algo tan básico como el manejo de variables ya deberías saber, si no lo sabes deberías de ponerte a estudiar.

Es lo mínimo que puedes hacer.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: mysql, session, sql, tabla, 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 14:28.