Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Recoger en una variable el nick del usuario logeado

Estas en el tema de Recoger en una variable el nick del usuario logeado en el foro de PHP en Foros del Web. Buenas, he creado un sistema de registro y login, que en principio me funciona correctamente (o eso creo xD). Tengo una tabla de usuarios creada ...
  #1 (permalink)  
Antiguo 27/05/2014, 14:36
 
Fecha de Ingreso: mayo-2014
Mensajes: 23
Antigüedad: 9 años, 10 meses
Puntos: 0
Recoger en una variable el nick del usuario logeado

Buenas, he creado un sistema de registro y login, que en principio me funciona correctamente (o eso creo xD). Tengo una tabla de usuarios creada en la que se van insertando los datos de los usuarios registrados.

Pues bien, mi duda es cómo podría a través de una consulta poder sacar el nick del usuario que esté actualmente logeado. Lo quiero hacer para dar un mensaje de bienvenida al usuario logeado. He intentado lo siguiente, pero no me funciona:

Código PHP:
$consulta mysqli_query($con,'SELECT nombre FROM usuarios WHERE nick = \''.mysqli_real_escape_string($con,$_SESSION['nick']).'\'');
$nombre $consulta->fetch_assoc(); 
Código HTML:
<h3>¡Bienvenido <?php echo $nombre ?>!</h3> 
No obtengo ningún tipo de error tampoco, así que no sé cómo guiarme.
  #2 (permalink)  
Antiguo 27/05/2014, 14:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recoger en una variable el nick del usuario logeado

¿Y para qué lo quieres volver a sacar de la BD si ya tienes dicho valor en sesión?

Es decir, si antes ya almacenaste el nick de usuario, ¿qué tan complicado sería almacenar ahí mismo, en sesión, el nombre del usuario?

Así te ahorras las consultas innecesarias, piensa un poco lo que haces.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/05/2014, 14:50
 
Fecha de Ingreso: mayo-2014
Mensajes: 23
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Recoger en una variable el nick del usuario logeado

¿Y cómo puedo coger ese valor?

De todas formas, lo que quiero que muestre en el mensaje de bienvenida es el nombre, no el nick, por eso hago la consulta. Son 2 campos diferentes.
  #4 (permalink)  
Antiguo 27/05/2014, 14:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recoger en una variable el nick del usuario logeado

Por eso, ¿entiendes lo que te trato de decir?

En sesión ya tienes el nick de usuario, no el nombre, eso me queda claro.

¿Ahora si en dicho script donde guardas el nick también guardas el nombre qué pasaría?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/05/2014, 14:58
 
Fecha de Ingreso: mayo-2014
Mensajes: 23
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Recoger en una variable el nick del usuario logeado

No entiendo lo que tratas de decir, es la primera vez que hago esto de las sesiones y estoy un poco perdido. ¿Cómo puedo sacar el nick y el nombre de la sesión?
  #6 (permalink)  
Antiguo 27/05/2014, 15:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recoger en una variable el nick del usuario logeado

Cita:
Iniciado por ruben_077 Ver Mensaje
No entiendo lo que tratas de decir, es la primera vez que hago esto de las sesiones y estoy un poco perdido. ¿Cómo puedo sacar el nick y el nombre de la sesión?
Pues en tu post dices que ya tienes un sistema de login, además en el código que muestras se nota que tratas de usar una variable de sesión.

¿Qué tan perdido estás cómo para no entender lo que te digo?

Sería inteligente de tu parte mostrar cómo haces el login, y sobre todo, cómo es que almacenas en sesión todo eso.

Es complicado ir adivinando.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 27/05/2014, 15:05
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Recoger en una variable el nick del usuario logeado

Lo que te dice @pateketrueke es sencillo y casualmente con algo de codigo lo explique hace como 2 dias:

http://www.forosdelweb.com/f18/duda-...s-php-1100384/
__________________
Salu2!
  #8 (permalink)  
Antiguo 27/05/2014, 15:18
 
Fecha de Ingreso: mayo-2014
Mensajes: 23
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Recoger en una variable el nick del usuario logeado

A ver, no he creado yo desde 0 los ficheros, me basé en uno que encontré por ahí. De todas formas, explicaré todo lo que hice con detalle. Son 6 ficheros diferentes:

user_config.php: contiene la comprobación de conexión con la base de datos:

Código PHP:
<?php
error_reporting
(E_ALL & ~E_NOTICE);
$server 'localhost';
$password '';
$usuario 'root';
$database 'proyecto';
$con mysqli_connect($server$usuario$password$database);
if(!
$con){ die('Comprueba tus datos de conexi&oacute;n'); }
include(
'user_sesion.php');
?>
user_sesion.php: este es el de sesión que no entiendo muy bien:

Código PHP:
<?php
$separar 
explode('#'$_COOKIE['sesion']);
if(
$_COOKIE['sesion'] && mysqli_num_rows($query mysqli_query($con,'SELECT * FROM `usuarios` WHERE `id` = \''.(int)$separar[0].'\' && `password` = \''.mysqli_real_escape_string($con,$separar[1]).'\''))){
  
$user mysqli_fetch_assoc($query);
  
$currentip $_SERVER['REMOTE_ADDR'] ? $_SERVER['REMOTE_ADDR'] : $_SERVER['X_FORWARDER_FOR'];
  
mysqli_query($con,'UPDATE `usuarios` SET `ip` = \''.mysqli_real_escape_string($con,$currentip).'\' WHERE `id` = \''.$user['id'].'\'');
}else{
  unset(
$_COOKIE['sesion']);
}
?>
user_registro.php: contiene el formulario de registro y comprobaciones de los campos.

user_login.php: contiene el formulario de login y comprobaciones de los campos.

user_logeado.php: contiene el mensaje de bienvenida que quiero hacer una vez logeas.

user_logout.php: para deslogear:

Código PHP:
<?php
include('user_config.php');
session_start();
if(!
$user) { die('No est&aacute;s logueado'); }
setcookie('sesion''nada'time()+1'/');
session_destroy();
header('Location: /index.php');
?>
  #9 (permalink)  
Antiguo 27/05/2014, 15:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recoger en una variable el nick del usuario logeado

Pues vaya asunto más complicado, ¿cómo esperas agregar funcionalidad en algo que no tienes ni la menor idea de cómo funciona?

Así no funcionan las cosas acá, la idea es que aprendas a resolver tus propios problemas, no que te demos pistas sin fundamentos de cómo podrías resolverlos.

Es fácil: guarda en una variable de sesión cuantos datos necesites una ves hayas iniciado sesión exitosamente.

Lee el manual para que entiendas cómo funcionan las sesiones.

http://www.php.net/manual/es/features.sessions.php

Cuando tengas un problema más concreto, y a plena consciencia de lo que haces, entonces ya entenderás la solución por tu cuenta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 27/05/2014, 15:44
 
Fecha de Ingreso: mayo-2014
Mensajes: 23
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Recoger en una variable el nick del usuario logeado

Bueno, ya conseguí hacerlo. Era algo tan tonto como poner lo siguiente:

Código PHP:
<h3>¡Bienvenido <?php echo $user['nombre'?>!</h3>
No había visto que había metido un array con todo en $user.

Etiquetas: mysql, nick, recoger, registro, select, tabla, usuario, usuarios, variable
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 20:27.